LoginSignup
0
0

More than 3 years have passed since last update.

RubyのArrayオブジェクトについて解説

Posted at

Arrayオブジェクトとは?

いわゆる「配列」のことで、複数のオブジェクトを格納できるオブジェクトです。

irb(main):039:0> [1, 2, 3, 4, 5]
=> [1, 2, 3, 4, 5]

Array の操作

push メソッドを使うと末尾にオブジェクトを追加できます。

irb(main):040:0> arr = []
=> []
irb(main):041:0> arr.push(100)
=> [100]

他にも末尾に追加する記法があるので紹介します。

irb(main):046:0> arr = []
=> []
irb(main):047:0> arr << 100
=> [100]

Array にオブジェクトを代入

まず、普通に Array を作ってみます。シングルクォートで囲った文字列を Array に格納してみます。

irb(main):052:0> arr = ['String1', 'String']
=> ["String1", "String"]
irb(main):053:0> arr
=> ["String1", "String"]

でもシングルクォートを度々書くのも面倒なので %w%[] という記法があります。

irb(main):057:0> arr = %w[String1 String2]
=> ["String1", "String2"]
irb(main):058:0> arr
=> ["String1", "String2"]

先ほどと同じ結果になっていることが分かりますね。
%w で囲われた配列では、要素はシングルクォートで囲う必要がなく
スペースで区切ってあげるだけでOKとなります。

Array の処理

each メソッド

each メソッドを使うと配列の各要素を取り出せます。

irb(main):064:1* arr.each do |i|
irb(main):065:1*   puts i
irb(main):066:0> end
1
2
3
4
5
=> [1, 2, 3, 4, 5]

map メソッド

map メソッドを使うと、配列の各要素を加工した配列を新たに作ることができます。
例えば各要素に「2」を掛けた配列にするにはこのように書きます。

irb(main):068:0> arr = [1, 2, 3, 4, 5]
=> [1, 2, 3, 4, 5]
irb(main):069:0> arr.map { |i| i*2 }
=> [2, 4, 6, 8, 10]

多重代入

次のような記法により、配列の各要素を変数に格納をすることができます。

irb(main):074:0> arr = [1, 2]
=> [1, 2]
irb(main):075:0> foo, bar = arr
=> [1, 2]
irb(main):076:0> foo
=> 1
irb(main):077:0> bar
=> 2

foo, bar それぞれに配列の 0 番目、1番目が格納されていることが分かるかと思います。

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