From: Carlos Agarie Date: 2015-04-30T10:32:18-03:00 Subject: [ruby-core:69032] Re: [Ruby trunk - Feature #11105] ES6-like hash literals As Yusuke Endoh said, I'd expect this notation to create a Set, not a Hash... ----- Carlos Agarie +55 11 97320-3878 | @carlos_agarie 2015-04-29 23:55 GMT-03:00 : > Issue #11105 has been updated by Shugo Maeda. > > > Yusuke Endoh wrote: >> {x, y} is a conventional notation of a mathematical set. >> When I read it, I expect it to be equivalent to { x => true, y => true }. > > {x, y} looks like a set of variable bindings, so it's reasonable that each key is a variable name and each value is its value. > > > ---------------------------------------- > Feature #11105: ES6-like hash literals > https://bugs.ruby-lang.org/issues/11105#change-52285 > > * 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/