配列の基本操作。
>> names = ['Luf','Zor','Nam'] => ["Luf", "Zor", "Nam"] >> names[0] => "Luf" >> names.size => 3 >> names[4] = 'Uso' => "Uso" >> names => ["Luf", "Zor", "Nam", nil, "Uso"] >> names.push('San') => ["Luf", "Zor", "Nam", nil, "Uso", "San"]
イテレータを使用した操作。
# イテレータ(繰り返しメソッド) >> names.each do |n| ?> puts n >> end Luf Zor Nam Uso => ["Luf", "Zor", "Nam", nil, "Uso", "San"] # 別の配列にセット # conpact:nilを取り除く >> names_a = names.map {|n| n}.compact => ["Luf", "Zor", "Nam", "Uso", "San"] >> names_a => ["Luf", "Zor", "Nam", "Uso", "San"] >> names => ["Luf", "Zor", "Nam", nil, "Uso", "San"] # eachで埋め返す場合は手間がかかるのでmap推奨 >> names_b = [] => [] >> names.each {|n| names_b << n} => ["Luf", "Zor", "Nam", nil, "Uso", "San"] >> names_b => ["Luf", "Zor", "Nam", nil, "Uso", "San"] # each_with_index >> names.each_with_index {|n, i| puts n + ':' + i.to_s if n.present? } Luf:0 Zor:1 Nam:2 Uso:4 San:5 => ["Luf", "Zor", "Nam", nil, "Uso", "San"] # select ブロックで評価した値が真だった要素を全て含む配列を返す >> names_a.select {|n| n.include?("a")} => ["Nam", "San"]
文字列からの配列作成。
# 文字列から配列作成 >> sea = %w[east west center] => ["east", "west", "center"] # 文字列から配列作成(symbolとして作成) >> sea = %i[east west center] => [:east, :west, :center]