私が歌川です

@utgwkk が書いている

Ruby忘録 each文

eachとは「それぞれ、めいめい」のことである。注意すべきはeachは単数であるということである。つまり、Each person does well. のように、現在形はいわゆる三単現を使わなければならない。

どうでもいいね。

eachは配列やハッシュと共に使うことが多い。Perlのforeach文に似てる。

#! ruby
list = ['reimu','marisa','sakuya','youmu']

list.each do |bo|
 puts bo
end

実行結果

reimu
marisa
sakuya
youmu

配列の内容を先頭から順にboに代入して、boを出力している。

ハッシュの場合は、次のようになる。

#! ruby
list = {
 '霊夢' => 'かっこいい',
 '魔理沙' => 'かわいい',
 '咲夜' => 'りりしい',
 '妖夢' => 'みょん'}

list.each do |key,val|
 puts "#{key}#{val}"
end

実行結果

霊夢はかっこいい
魔理沙はかわいい
咲夜はりりしい
妖夢はみょん

ハッシュの場合は、変数が2つ必要になる。Key(添字)とValue(値)があるからだ。

ちなみに、each文の間だけファイルを開くこともできる。

#! ruby

File.open("a.txt","r").each do |bo|
 puts bo
end

a.txtの内容を一行ずつ読み込んで出力する。openされたファイルはendで自動的にcloseされるので問題ない。