0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Ruby】配列を制するものはRailsを制す。

Posted at

Rubyの配列の基本についてまとめます。

実際にRailsでアプリを実装するときなどには、配列は頻繁に扱うことになります。
配列をうまく扱うことができれば実装力が増すことは間違いありません!

#配列の作り方

普通に[]でくくればできますが、それ以外の方法を簡単に見ておきましょう。

###Array.new

array = Array.new(3, 'ok')
p array

#["ok", "ok", "ok"]

###splitメソッド

string = 'taro jiro saburo'
array = string.split(' ')
p array

#["taro", "jiro", "saburo"]

#要素を取り出す・置き換える・挿入する

###要素を取り出す

array = ["taro", "jiro", "saburo"]
new_array = array[1..2]

#["jiro", "saburo"]

###要素を置き換える

array = ["taro", "jiro", "saburo"]
array[0] = "me"
#["me", "jiro", "saburo"]

array[0..1] = ["me", "my brother"]
#["me", "my brother", "saburo"]

###要素を挿入する

要素を挿入する場合はarray[n, 0] = 挿入したい要素と書きます。
nの直前に要素を挿入します。

array = ["taro", "jiro", "saburo"]
array[1, 0] = "hanako"

#["me", "hanako", "jiro", "saburo"]

###複数のインデックスを指定して配列をつくる

array = ["taro", "jiro", "saburo"]
new_array = array.values_at(0, 2)

#["taro", "saburo"]

#集合としての配列

数学で集合を学習したことを覚えているでしょうか。
配列を1つのまとまりとして捉えることもできるわけですね。

###共通集合

2つの集合のどちらにも含まれている要素を取り出す。

array1 = [1,3,5,7,9]
array2 = [1,2,5,6,9,10]

new_array = array1 & array2
#[1, 5, 9]

###和集合

どちらか一方にでもある要素を集める。

array1 = [1,3,5,7,9]
array2 = [1,2,5,6,9,10]

new_array = array1 | array2
#[1, 3, 5, 7, 9, 2, 6, 10]

###集合の差

array1 = [1,3,5,7,9]
array2 = [1,2,5,6,9,10]

new_array = array1 - array2
#[3, 7]

###集合の和

和集合とのちがいは、重複する要素があっても全部足し合わせます。
(重複しているものを除きたい場合は|を使います。)

array1 = [1,3,5,7,9]
array2 = [1,2,5,6,9,10]

new_array = array1 + array2
#[1, 3, 5, 7, 9, 1, 2, 5, 6, 9, 10]

#まとめ

Rubyの配列の基本について見てきました。

ここで見てきたものをしっかりマスターしておくだけでも配列の扱いが容易になると思います。
Railsなどの開発にも生きてくると思います。

今回は以上です!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?