From: rr.rosas@... Date: 2015-05-05T12:36:34+00:00 Subject: [ruby-core:69078] [Ruby trunk - Feature #11105] ES6-like hash literals Issue #11105 has been updated by Rodrigo Rosenfeld Rosas. Yukihiro Matsumoto wrote: > Question: > > What if we have variables with same name and different prefixes? e.g. > > a = 1 > @a = 2 > $a = 3 CoffeeScript would compile to this: ~~~ @a=1; a=2; {@a, a} => {a: this.a, a: a} ~~~ If the same happens in Ruby, this is what I get in IRB: ~~~ > {a: 1, a: 2} (irb):2: warning: duplicated key at line 2 ignored: :a => {:a=>2} ~~~ Sounds good to me. ---------------------------------------- Feature #11105: ES6-like hash literals https://bugs.ruby-lang.org/issues/11105#change-52325 * Author: Shugo Maeda * Status: Open * Priority: Normal * Assignee: ---------------------------------------- Why not support ECMAScript6-like hash literals? For example, {x, y} is equivalent to: {x: x, y: y} For convenience, the prefix of global, instance, and class variables should be removed from the key name as follows: a = 1 B = 2 $c = 3 @d = 4 @@e = 5 p({a, B, $c, @d, @@e, f: 6}) #=> {:a=>1, :B=>2, :c=>3, :d=>4, :e=>5, :f=>6} ---Files-------------------------------- 0001-support-ES6-like-hash-literals.patch (3.88 KB) -- https://bugs.ruby-lang.org/