#目次
今回は、以下のテーマを書いていきたいと思います。
- 配列
- 繰り返し
- ハッシュ
#配列
配列とは、値をまとめて管理する方法です。変数の箱が連続して並んだイメージです。配列の要素には前から0,1,2,,というように数字が与えられており、インデックス番号と言います。これを利用して要素を取り出したり削除したりします。
foods = ["Rice","Ramen","Sushi"]
puts foods[1]
puts "好きな食べ物:#{foods[2]}"
#=>Ramen
#=>好きな食べ物:Sushi
上記の例だと、foods[0]が"Rice",foods[1]が"Ramen",foods[2]が"Sushi"に対応しています。
#繰り返し
繰り返し処理の一つにeach分があります。配列の要素が一つづつ変数に代入されて、each文の中の処理を実行する形になっています。
以下のプログラムだと、配列foodsの各要素を変数foodに代入して、putsで出力する処理を実行しています。
foods = ["Rice","Ramen","Sushi"]
foods.each do |food|
puts "食べ物:#{food}"
end
#=>食べ物:Rice
#=>食べ物:Ramen
#=>食べ物:Sushi
#ハッシュ
ハッシュとは、それぞれの値にキーというものを対応づけてデータを管理する方法です。ここでは扱いませんが、ハッシュ関数は入力されたデータに対して対応するデータを返す関数です。そのハッシュ関数により得られた値をハッシュ値と言います。
さて、Rubyでハッシュを記述するときは、
{キー値:, 値}
のように記述します。下のプログラムだと、キー値nameに対応する値"Rice"が出力されていることがわかると思います。
foods = {name:"Rice",gram:100}
puts foods[:name]
puts foods[:gram]
#=> Rice
#=> 100
配列とハッシュを組み合わせて、食べ物とグラム数を出力するプログラムを以下にしまします。each文で配列の要素を取り出して、さらにキー値のnameとgramに対応する値を取り出して出力しています。
foods = [
{name:"Rice",gram:100},
{name:"Sushi",gram:200},
{name:"Ramen",gram:300},
{name:"Udon",gram:400},
{name:"Soba",gram:500}
]
foods.each do |food|
puts "-----"
puts food[:name]
puts food[:gram]
end
#実行結果
=begin
-----
Rice
100
-----
Sushi
200
-----
Ramen
300
-----
Udon
400
-----
Soba
500
=end
#最後に
今回も見ていただきありがとうございました。配列やハッシュは重要な概念なので、興味があれば自ら調べて深掘りして見ましょう。今後も学んだことを共有していきたいと思いますので、よろしくお願いします。