Ruby
試験

[Ruby Silver対策] メソッドを覚えよう!③


学習用

3回目、注意人物たち。。


1. 配列 クラス

要素の追加

a = [1,2,3,4,5]

p a
p a << "a"
p a.push("b") #=>[1, 2, 3, 4, 5, "a", "b"]
p a.concat(["c"]) #=>[1, 2, 3, 4, 5, "a", "b", "c"]配列形式
p a.insert(5,6) #=>[1, 2, 3, 4, 5, 6, "a", "b", "c"]指定した場所に要素の追加
p a + ["d","e"] #=>[1, 2, 3, 4, 5, 6, "a", "b", "c", "d", "e"]配列形式
p a.unshift(0) #=>[0, 1, 2, 3, 4, 5, 6, "a", "b", "c"]先頭に追加


fill

指定した箇所の全ての要素を置き換える。

a = [1,2,3,4,5]

p a.fill(0) #=>[0,0,0,0,0]
p a.fill(1,1..2) #=>[0,1,1,0,0]


replace

引数の配列で置き換える。

再代入=とは異なり、オブジェクトは変化しない

a = [1,2,3,4,5]

p a.replace([0,0,0]) #=>[0,0,0]


at,fetch

a = [1,2,3,4,5]

p a.at(5) #=>nil
p a.fetch(5) #=>error


product

自身と与えられた配列のすべての組み合わせを作り

配列にして返す。

a = [1,2,3]

b = ["a","b","c"]
p a.product(b)
#=>[[1, "a"], [1, "b"], [1, "c"], [2, "a"], [2, "b"], [2, "c"], [3, "a"], [3, "b"], [3, "c"]]


zip

同じインデックスの要素を取り出し配列にして返す。

a = [1,2,3]

b = ["a","b","c"]
p a.zip(b) #=>[[1, "a"], [2, "b"], [3, "c"]]