From: rubikitch Date: 2000-08-27T13:18:31+09:00 Subject: [ruby-list:24551] Re: Array への nil の代入について From: Kenya Ogata Subject: [ruby-list:24550] Array への nil の代入について Date: Sun, 27 Aug 2000 12:51:06 +0900 > おがたといいます。 るびきちです。 掲示板ではお世話になりました(笑) > ruby 1.6.0 (2000-08-24) [i586-cygwin] cygwin1.1.2 において > > a = [1,2,3,4,5] > a[0] = nil # [nil,2,3,4,5] ok > a << nil # [nil,2,3,4,5,nil] ok > a[1,1] = nil # [nil,3,4,5,nil] ? > a[1,0] = nil # [nil,3,4,5,nil] ? > a[1..3] = nil # [nil,nil] ? > > となるのですが、これは正しい動作なのでしょうか。 > 普通に nil が代入されると期待していたのですが。 ruby 1.4.5 (2000-06-24) [i686-linux] でもこうなりますね。 とりあえずソースを調べてみたらこんなことがわかりました。 なんか不思議(^^;) irb(main):024:0> x = Array(nil) {nil} irb(main):026:0> x.length 0 irb(main):027:0> nil.to_a.length 0 irb(main):028:0> [nil].length 1 irb(main):029:0> nil.to_a == [nil] false irb(main):030:0> [nil].type Array irb(main):031:0> nil.to_a.type Array るびきち☆ http://i.am/rubikitch Just another Ruby girls are available!!