From: Satoshi Nakagawa Date: 2007-12-10T20:49:42+09:00 Subject: [ruby-dev:32521] Re: bug in Array#slice! On 2007/12/10, at 20:17, Akinori MUSHA wrote: >  これは [ruby-dev:31671] ですかね。見落とされている…。 すみません。その通りでした。 >  Array#slice と挙動を合わせるべきだと思うので、ここ > は例外を > 上げずに nil を返しましょうか。 確かにそちらのほうがいいと思います。 Array#slice! で正の範囲外を指定した場合と、String#slice! で正負の範囲外を指定した場合を見ると nil を返しているので。 $ ./ruby -e 'a = %w|a b c d e|; p a.slice!(8,2); p a' nil ["a", "b", "c", "d", "e", nil, nil, nil] $ ./ruby -e 's = "abcde"; p s.slice!(8,2); p s' nil "abcde" $ ./ruby -e 's = "abcde"; p s.slice!(-8,2); p s' nil "abcde" -- Satoshi Nakagawa