😊

【Ruby】配列操作

2020/11/23に公開

実務入りたての頃にチェリー本で勉強した備忘録。
公開したほうが外部の目も入っていいかなと。

下記配列に対する操作。

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

要素の取得方法

2つ目の要素から3つ分の要素を取り出す。

a[1, 3] # => [2, 3, 4]

取得したい要素の添字を複数指定する

a.value_at(0,2,4) # => [1, 3, 5]

最初の要素から2つを取得する

a.first(2) # => [1, 2]

最後の3つの要素を取得する

a.last(3) # => [3, 4, 5]

要素の変更方法

末尾に要素の追加

a << 1 # => [1, 2, 3, 4, 5, 1]

複数要素を追加

a.push(100,200) # => [1, 2, 3, 4, 5, 100, 200]

一致する要素を削除

a = [1, 2, 3, 4, 5, 2]
a.delete(2) # => [1, 3, 4, 5]

配列の連結

contactメソッド

a = [1]
b = [2, 3]
a.concat(b) # => [1, 2, 3]

#aは変更される(破壊的)
a # => [1, 2, 3]

一方 + を使うともとの配列を変更せず連結できる。

a = [1]
b = [2, 3]
a + b # => [1, 2, 3]

#aは変更されない
a # => [1]

2つの配列の要素を集め、重複を省いて返す。

a = [1, 2, 3, 4, 5]
b = [2, 3, 5, 7, 9]
a | b # => [1, 2, 3, 4, 5, 7, 9]

左の配列から右の配列に含まれる要素を取り除く。

a = [1, 2, 3, 4, 5]
b = [2, 3, 5, 7, 9]
a - b # => [1, 4]

2つの配列に共通する要素を返す。

a = [1, 2, 3, 4, 5]
b = [2, 3, 5, 7, 9]
a & b # => [2, 3, 5]

Discussion