Issue #15236 has been updated by osyo (manga osyo).


I would like to use Hash shorthand in the following cases.

```
describe User do
	let(:id) { ... }
	let(:name) { ... }
	let(:age)  { ... }
	let(:registered_at) { ... }

	# I want to hash shorthand!
	let(:user) { User.new(id: id, age: age, name: name, registered_at: registered_at) }
	context '`name` is nil' do
		let(:name) { nil }
		it { ... }
	end
	context '`age` is nil' do
		let(:age) { nil }
		it { ... }
	end
end
```


----------------------------------------
Feature #15236: add support for hash shorthand
https://bugs.ruby-lang.org/issues/15236#change-74724

* Author: ignatiusreza (Ignatius Reza Lesmana)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
PR in github: https://github.com/ruby/ruby/pull/1990

inspired by javascript support for object literal shorthand notation `{ a }`, which will be expanded into `{ a: a }`..

to avoid ambiguity, this shorthand is only supported when hash is defined with `{ }` notation.. in other situation where the brackets is optional, e.g. function call, we still need to write it in full (`m(a : a)` instead of `m(a)`, or `m(a, b, c: c)` instead of `m(a, b, c)`..



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>