Ruby - 配列の作り方いろいろ
Rubyでの配列の作り方
Array.new
array = Array.new p array array = Array.new(3) p array array = Array.new(5, 'Ruby') p array
- 何も指定しない
- そのまま0個の配列ができる
- 引数を1つだけ(数値)
- その引数の数だけ
nil
の要素が入った配列ができる
- その引数の数だけ
- 引数を2つ
- 1つの目の引数:要素数を指定
- 2つの目の引数:格納したい値 で配列ができる
[] [nil, nil, nil] ["Ruby", "Ruby", "Ruby", "Ruby", "Ruby"]
%w
, %i
要素に空白が含まれていない、つまりそれぞれの区切りが明確になっている場合のみ、使える %w
, %i
neta = %w(まぐろ サーモン えび かに うに) p neta neta2 = %i(まぐろ サーモン えび かに うに) p neta2
["まぐろ", "サーモン", "えび", "かに", "うに"] [:まぐろ, :サーモン, :えび, :かに, :うに]
%w
は文字列の配列をつくりたいときに、%i
は文字列がシンボルの配列となる。
to_a
配列の作り方としては、あまりメジャーでないがこれでもできなくはない、的なもの。 to_aは多くのクラスで定義されているメソッドでそれぞれのオブジェクトを配列に変換してくれる。
sushi_hash = { :maguro => ['まぐろ', 100], :salmon => ['サーモン', 120], :egg => ['たまご', 150] } sushi_array = sushi_hash.to_a p sushi_array
[[:maguro, ["まぐろ", 100]], [:salmon, ["サーモン", 120]], [:egg, ["たまご", 150]]]
例ではハッシュを配列に変換している。
文字列split
あらゆる情報がカンマで句切られた一つの文字列をsplitメソッドで分割した結果が配列になるパターン。 わりと使われる手法。
person = "寿司太郎,男,まぐろが好き,2016-4-12" profile = person.split(',') p profile
["寿司太郎", "男", "まぐろが好き", "2016-4-12"]
参考
- 作者: 高橋征義,後藤裕蔵,まつもとゆきひろ
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/02/26
- メディア: 単行本
- この商品を含むブログ (1件) を見る