From: "小西 弘将" Date: 2011-09-26T13:39:24+09:00 Subject: [ruby-list:48416] Re: 要素のない配列の挙動? 小西です。 配列要素を触るならmap!ですかねぇ。 r = [[], []] r.map! do |x| p x #=> [] if x.empty? x = [""] end p x #=> [""] x end p r #=> [[], []] > 前略 > > どうにも納得のいかない挙動に遭遇したので,詳しい方にご教示をお願いします. > > 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重にした時の挙動が理解できません. > -- +============================================== KONISHI Hiromasa RaaX co.,ltd. 1-12 N-24, E-17, Sapporo 065-0024 Japan TEL +81-011-780-2481 FAX +81-011-780-2488 E-mail konishi@raax.co.jp +==============================================