[#50231] [ANN] OedoRubyKaigi05 — SASADA Koichi <ko1@...>
下記の要領で大江戸Ruby会議05を行なうのでご連絡します。
5 messages
2015/10/08
[ruby-list:50241] Re: Hash.new([])の挙動について
From:
keiichi matsunaga <ma2@...>
Date:
2015-10-27 04:15:30 UTC
List:
ruby-list #50241
On 2015/10/27 12:57, Kunimi Ikeda wrote:
> a = Hash.new([])
Hashのnewの引数は「Hashのキーに対応する値がないときにデフォルトで返され
る値」なので、
> a['key'] << 1
とやると、a['key']に対応する値がないためにデフォルト(空の配列)を書き換
えることになります。
> a['key'] << 2
> a['key'] << 3
これで次々とそのデフォルトのを書き換えています。
aそのものには何も設定されていないので、{}のままです。
a.defaultとすると分かると思います。
リファレンスのこのへんに説明があります。
http://docs.ruby-lang.org/ja/2.1.0/method/Hash/s/new.html
--
松永肇一(keiichi matsunaga)
株式会社ライフメディア(http://lifemedia.jp) システム開発部