配列

うーん、チュートリアルでは特に変わった機能は紹介されてないので、リファレンスを見てみよう。
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Array

部分配列を取得する。

values = ['a', 'b', 'c', 'd', 'e', 'f']
p values[2..4]
p values[3, 2]
p values[4, 1]
p values[4]

出力

["c", "d", "e"]
["d", "e"]
["e"]
"e"

なるほどこりゃ直感的。ちなみに

p values[2..10] # 要素数をオーバーした添え字
p values[3, 10] # 要素数をオーバーした長さ

としたら

["c", "d", "e", "f"]
["d", "e", "f"]

だって。なんか親切さんだよね。

要素に一気に代入する

values[1..3] = ['B', 'C', 'D'];
p values

values = ['a', 'b', 'c', 'd', 'e', 'f']
values[1..3] = [];
p values

values = ['a', 'b', 'c', 'd', 'e', 'f']
values[1..3] = nil;
p values

values = ['a', 'b', 'c', 'd', 'e', 'f']
values[2, 3] = ['v', 'w', 'x', 'y', 'z']
p values

values[1, 0] = ['V', 'W', 'X', 'Y', 'Z']
p values

values[4, 4] = []
p values

values[0, 2] = nil
p values

出力は

["a", "B", "C", "D", "e", "f"]
["a", "e", "f"]
["a", "e", "f"]
["a", "b", "v", "w", "x", "y", "z", "f"]
["a", "V", "W", "X", "Y", "Z", "b", "v", "w", "x", "y", "z", "f"]
["a", "V", "W", "X", "w", "x", "y", "z", "f"]
["W", "X", "w", "x", "y", "z", "f"]

すごい。チョー便利。