ぽざうねっと

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  420  : 記事  0  : コメント  9436  : トラックバック  76

ニュース

さて、今年は何を漬けようか

書庫

日記カテゴリ

Accessory

Community

Private

Ruby の配列は色々と面白いことができます。
nums = [ 1, 2, 3, 4, 5 ]
nums[1, 3] → [ 2, 3, 4 ]
第一引数の要素から始まり、第二引数の数の長さをもつ offset の配列が取得できます。
つまり nums[2, 1] は nums[2] に等しいわけです。
nums[-3, 2] → [ 3, 4 ]
[ 3, 2 ] とならないことに注意です。
ちなみに、第二引数が負数の場合は nil が返ります。

長さじゃなくて範囲で取得もできます。
nums[1..3] → [ 1, 2, 3 ]
nums[1...3] → [ 1, 2 ]
nums[-3..-1] → [ 3, 4, 5 ]

取得はまだマシです。値の設定の方を見てみましょう。
nums[0] = 0 → [ 0, 2, 3, 4, 5 ]
nums[2, 2] = "a" → [ 1, 2, "a", 5 ]
nums[2, 0] = "b" → [ 1, 2, "b", 3, 4, 5 ]
nums[1, 1] = [ "a", "b", "c" ] → [ 1, "a", "b", "c", 2, 3, 4, 5 ]
nums[0..2] = [] → [ 4, 5 ]
nums[7..8] = 98, 99 → [ 1, 2, 3, 4, 5, nil, nil, 98, 99 ]

や、ややこしい・・・覚えるしかない
投稿日時 : 2008年1月25日 1:15

コメント

# re: Ruby の配列 その2 2008/01/25 14:29 THREE-ONE
・length を指定すると、length 分を埋めるのじゃなくて削除して指定位置に挿入
・配列を与えると、要素のひとつに配列が入るのじゃなくて、配列が展開される
このあたりがややこしい

Post Feedback

タイトル
名前
Url:
コメント: