2011年9月24日

[ruby-list:48392] 要素のない配列の挙動?

前略

どうにも納得のいかない挙動に遭遇したので,詳しい方にご教示をお願いします.

p [""] == [] #=> false
p [""].empty? #=> false
p [].empty? #=> true

r = []
if r.empty?
r = [""]
end
p r #=> [""]

ここまでは,何もおかしな事はありません.ところが・・・

r = [[], []]
r.each do |x|
p x #=> []
if x.empty?
x = [""]
end
p x #=> [""]
end
p r #=> [[], []]

[] と [""] は異なるはずだと思っていましたし,1重の配列では確かにそうなのですが,
配列を2重にした時の挙動が理解できません.

--
俊(とし)


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




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