Ruby 4-3

こんにちは!

暑くても湿度が低ければ過ごしやすく感じる。

繰り返し処理(専用メソッド)

Rubyの繰り返しメソッドを確認していきます。

method_each.rb
Image from Gyazo

Image from Gyazo

for命令文と同じ役割を担うeachメソッドです。
配列やハッシュの内容を順に取り出します。

method_each2.rb
Image from Gyazo

Image from Gyazo

do...endの代わりに、{...}でくくることも可能です。

method_each3.rb
Image from Gyazo

Image from Gyazo

_1 のような番号指定パラメーターで代替できます。
ただし、連番は意味ある名前に比べて可読性に欠けるため、あまり推奨されていません。

ethod_times.rb
Image from Gyazo

Image from Gyazo

指定の回数だけループを繰り返すtimesメソッドです。

method_upto.rb
Image from Gyazo

Image from Gyazo

値を増加させながら繰り返しを行うuptoメソッドです。

method_downto.rb
Image from Gyazo

Image from Gyazo

値を減少させていくdowntoメソッドもあります。

method_step.rb
Image from Gyazo

Image from Gyazo

増減値を指定したい場合はstepメソッドです。

scope_for.rb
Image from Gyazo

Image from Gyazo

scope_each.rb
Image from Gyazo

Image from Gyazo

forなどの制御構文と、eachなどのメソッド構文の大きな違いは、ループの内外で引数を共有できるかどうかです。
eachメソッドの内部の引数は、変数の見える範囲(ブロックスコープ)が作られることで、ループの外では参照できません。
詳しくは8章でやる、とのことです。

ではでは。