2006年7月 6日

[ruby-list:42541] Re: Array#default

たけ(tk)です

[ruby-list:42536] Array#default にて
take_tk <ggb03124@xxxxx> さん曰く:

> (2)Hash#default でも、hash.default=proc{|hash.key|..} をセットしたと
> きに proc.call するタイプの値を許すのはいかがでしょうか? というのは
>

> hash = {}
> hash.default = []
> p hash[2] #=> [] #=> []
> p hash[2][3] #=> nil #=> nil
> p hash[2][3]=6 #=> 6 #=> 6
> p hash #=> {} #=> {2=>[nil, nil, nil, 6]}

たはは、・・・。(^^;

http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Hash
# [ruby-list:26555] Re: Hash.new
#
hash = Hash.new{|h,k| h[k]=[]}
p hash[2] #=> []
p hash[2][3] #=> nil
p hash[2][3]=6 #=> 6
p hash #=> {2=>[nil, nil, nil, 6]}
----

ということで、(2)(3)は撤回します。

もっとも、既存のハッシュに追加するのは出来ないのかな?

でも・・。「hash.default」で「nil=>[]」が追加されるのね・・。

----
hash = Hash.new{|h,k| h[k]=[]}
p hash #=> {}
p hash.default #=> []
p hash #=> {nil=>[]}
----

Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武


投稿者 xml-rpc : 2006年7月 6日 17:37
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/42472
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。