2008年8月15日

初めてのRuby - 配列の長さ付き添字と添字代入

Rubyを修得するべく、事始めに、「初めてのRuby」を購入、先日届いたので読み始めたのですが、、若干気持ち悪いところがあったので書いてみる。

1.長さ付き参照
a = [1,2,3,4]
p a[0,2] #=> [1,2,3]
これが気持ち悪い、、というのも、Perlだと
@a = (1,2,3,4);
print @a[0,2]; #=> 13
という事になる。範囲添字というものがあるのに、何故、"長さ付き添字"と"範囲添字"が同じ挙動をする必要があるのじゃろう、、。。0,2って指定してるんだから、0,2の要素が取り出せた方が良いんじゃないかな、、。。指定した要素を取り出す時は、どうするんだろう。。もう少し、読み進めるか。。。

2.添字代入
a = [1,2,3,4]
a[0..2] = "A" #=> ["A",4]
これが気持ち悪い、、ってか、消えちゃうのかよ!!なんで、こんな挙動になるんだ。。。Perlとの挙動が違うので、意図しない間違えが頻発しそうだ。。。ちゃんと把握しとかないと。。。

0 件のコメント: