Timesループ
CoddyのRubyジャーニー「基礎」セクションの一部。レッスン 44/88。
Rubyでは、指定した回数だけコードを繰り返す、より洗練された方法が用意されています。timesループは、ほとんど英語のように読めるRubyらしいアプローチです。
範囲を設定する代わりに、数値に対して times を呼び出すだけです:
3.times do
puts "Hello!"
endこれは「Hello!」を3回出力します。do...endブロック内のコードは正確に3回実行されます。カウンタ変数が必要ない場合は、for i in 1..3と書くよりもすっきりしています。
では、現在どの Iteration にいるかを知る必要がある場合はどうでしょうか?times ループは、0 から始まる index を提供できます。
4.times do |i|
puts i
end
# 出力: 0, 1, 2, 3パイプの間にある変数 i には、現在の反復番号が格納されます。1 ではなく 0 から数えることに注意してください。これは、繰り返しとカウンターの両方が必要な場合に便利です。
3.times do |num|
puts "Iteration #{num + 1}"
end
# 出力: Iteration 1, Iteration 2, Iteration 3timesループは、必要な反復回数が正確に分かっていて、すっきりと読みやすいコードを書きたい場合に最適です。
チャレンジ
簡単入力から数値 n を読み取ります。times ループをそのインデックスとともに使用して、数値 2 の九九の表を出力します。2 x 0 から 2 x (n-1) までの積を表示してください。
各行は次の形式に従う必要があります:2 x [index] = [result]
入力は、ループを何回実行するかを表す単一の整数です。
たとえば、入力が 4 の場合、出力は次のようになります:
2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6入力が 6 の場合、出力は次のようになります:
2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10自分で試してみよう
# 反復回数を読み取る
n = gets.to_i
# TODO: 以下にコードを書いてください
# times ループとそのインデックスを使って 2 の掛け算表を出力する
# 形式: 2 x [index] = [result]このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rubyオンラインコンパイラ