Ruby2にいたる文法変更の一環。
{foo: 1, bar: 1}
のような式を許すようにした。その意味は
{:foo => 1, :bar => 1}
ChangeLogには私の名前でエントリしてあるが、実際には中田さんのコード。
それと、これはまだ実現できないけど、
method(a=>b, c=>d)
のような、「末尾の引数にハッシュを直接書ける」文法は今後使わないようにしてほしい。
これの意味を
method({a=>b, c=>d})
から
method(**{a=>b, c=>d})
に変更して、将来の名前付き引数に使うつもりなので。
追記:
警告した方が良いというakrさんのツッコミ。
確かにその通り。もうちょっと考えが煮詰まったらちゃんとコードでもアナウンスします。
This work is licensed under a Creative Commons License.
「今後使わないようにしてほしい」というような方針は、<br>警告という形でもアナウンスするのが良いように思います。<br>1.9 では rb_warn, 1.8 では(しばらく) rb_warning を希望。