From: matz@... (Yukihiro Matsumoto) Date: 1998-11-06T19:21:11+09:00 Subject: [ruby-list:10689] Re: negative index of an array まつもと ゆきひろです In message "[ruby-list:10687] Re: negative index of an array" on 98/11/06, Motoyuki Kasahara writes: |笠原です。 |> a[-4..0] #=> 配列外を除く[1](現状も[1]) | |これで良いと思います。最後の a[-4..0] は、 | | a[-4..0] | → 配列外の a[-4] を除くので a[-3..0] と等価 | → a[0..0] | → [1] | |ということですね。 です. |別に前方への拡張にこだわりはないので、これで良いです。それぞれ |a = ["a","b","c"] のとき、以下のような結果で合っていますか? えーと,配列外の調整が先で代入が後なので, | a[-4,2] = [0,1] # a[-4] の分を除いて設定: a => [1,"b","c"] は[0, 1, "b", "c"]になります. | a[-4,5] = [0,1,2,3,4] # a[-4] の分を除くので a[-3, 4] つまり a[0, 4] | # に設定: a => [1,2,3,4,"a","b","c"] a[0,4] = [0,1,2,3,4]になりますから,結果は[0,1,2,3,4]です | a[-4..0] = [0,1,2,3,4] # a[-4] を除いた a[0..0] に設定: | # a => [1,2,3,4,"a","b","c"] a[0..0] は a[0,1] ですから [0,1,2,3,4,"b","c"] です. いかがでしょう? まつもと ゆきひろ /:|)