うーむ、この挙動の変更には驚いた。
今までなら、
1 >>> a = $H() 2 Object _object=Object 3 >>> a.test = 'foo' 4 "foo" 5 >>> a.inspect() 6 "#<Hash:{'test': 'foo'}>"
という挙動だったのだけれど、version 1.6以降、最後の結果が
1 >>> a.test = 'foo' 2 "foo" 3 >>> a.inspect() 4 "#<Hash:{}>"
と、空っぽのままになってしまう。
Hashへの要素の追加は、以下のようにget
やset
を使わなくては
ならないようだ。
1 >>> a.set('test', 'foo') 2 "foo" 3 >>> a.inspect() 4 "#<Hash:{'test': 'foo'}>"
これは結構影響が大きな変更なんじゃないかな・・・。
追記
Rails 2.0からprototype.
JavaScript
Elementsは「new Element(...)」というシンタックスで生成できるようになり、Element#insert、Element#select、 Element#wrapといったAPIが提供された。また、Hashに関するAPIが変更され、Hash#get、Hash#setを使う必要がある。
posted by
genki
on Wed 26 Dec 2007
at 17:54