環境,前提
Ruby 2.5.1
MacOS Mojave Ver.10.14.6
本記事はRubyがインストールされた前提の記事です。
Rubyをインストールしたあと、とにかくRubyをいろいろ触ってみて慣れていくための記事です。お役に立てば幸いです。
eachをハッシュで使う
each文の基本2の続きです。eachをハッシュで使ってみます。ハッシュのキーと値を順番に取り出すときもeachが使えます。
変数(ブロックパラメータ)を2つ用意すればキーと値を順番に取り出せます。
その前に式展開
#{}の形は式展開といい、#{}に中に式や変数を入れるとその式や変数が文字列の中に展開されます。
sample.rb
name = "Yamada"
puts "私の名前は#{name}です。"
実行結果は以下のようになります。
Tarminai
私の名前はYamadaです。
ではそれを踏まえて
sample.rb
vegetables = {"ニンジン": 80, "タマネギ": 60,"ジャガイモ": 50}
vegetables.each do |key, value|
puts "#{key}は#{value}¥です。"
end
出力結果は以下のようになります。
Tarminai
ニンジンは80¥です。
タマネギは60¥です。
ジャガイモは50¥です。
解説
今回はkey, value,の2つの変数(ブロックパラメータ)を用意しました。
keyと言う変数には配列vegetablesのキー(ニンジン・タマネギ・ジャガイモ)が順番に代入されます。
valueの変数には配列vegetablesの値(80・60・50)が順番に代入されます。
ハッシュロケット
ちなみにこう書くこともできますが**=>ハッシュロケット**は古い記法ですので使わないようにしましょう。
sample.rb
vegetables = {"ニンジン" => 80, "タマネギ" => 60,"ジャガイモ" => 50}
vegetables.each do |key, value|
puts "#{key}は#{value}¥です。"
end