0
0

More than 3 years have passed since last update.

Ruby 配列と繰り返し処理

Last updated at Posted at 2021-08-10

目次

今回は、以下のテーマを書いていきたいと思います。

  • 配列
  • 繰り返し
  • ハッシュ

配列

配列とは、値をまとめて管理する方法です。変数の箱が連続して並んだイメージです。配列の要素には前から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

最後に

今回も見ていただきありがとうございました。配列やハッシュは重要な概念なので、興味があれば自ら調べて深掘りして見ましょう。今後も学んだことを共有していきたいと思いますので、よろしくお願いします。

0
0
2

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