timesメソッドやuptoメソッドを使って指定した回数だけ繰り返す

times メソッド、 upto メソッド、 downto メソッドは整数クラスである Integer クラスで用意されているメソッドです。 Integer クラスのオブジェクトに対してこれらのメソッドを実行することで、指定した回数だけ繰り返し処理を行うことができます。ここでは Ruby で times メソッドや upto メソッドを使って指定した回数だけ処理を繰り返す方法について解説します。

※あわせて「stepメソッドを使って指定した数値を超えるまで繰り返す」も参照して下さい。

(Last modified: )

timesメソッドの使い方

times メソッドは指定した回数だけ繰り返しを行いたいときに使用します。使い方は次のとおりです。

オブジェクト.times{|変数|
  実行する処理1
  実行する処理2
}

または次のように記述することもできます。

オブジェクト.times do |変数|
  実行する処理1
  実行する処理2
end

オブジェクトには正の整数を指定してください。

times メソッドは、変数に 0 から「オブジェクト - 1」までの整数を順に代入しながら { から } までの処理(又は do から end までの処理)を実行します。 1 回繰り返す毎に 1 ずつ数値は増加します。(「|変数|」の部分は省略可能です)。

具体的には次のように使用します。

10.times{
  puts("Hello")
}

この場合は 10 回 "Hello" と出力します。

uptoメソッドの使い方

upto メソッドは指定した開始数から最大数まで 1 つずつ増加しながら繰り返しを行いたいときに使用します。次のように使用します。

オブジェクト.upto(max){|変数|
  実行する処理1
  実行する処理2
}

または次のように記述することもできます。

オブジェクト.upto(max) do |変数|
  実行する処理1
  実行する処理2
end

オブジェクトに指定した数値が max よりも大きい場合は繰り返し処理は行われません。

upto メソッドは、変数に「オブジェクト」から max までの数値を順に代入しながら { から } までの処理(又は do から end までの処理)を実行します。 1 回繰り返す毎に 1 ずつ数値は増加します。(「|変数|」の部分は省略可能です)。

具体的には次のように使用します。

3.upto(7){|num|
  puts("num = " + num.to_s)
}

上記の場合は変数「num」に数値の 3 から 7 まで順に代入しながら { から } までの処理を繰り返します。

downtoメソッドの使い方

downto メソッドは指定した開始数から最小数まで 1 つずつ減らしながら繰り返しを行いたいときに使用します。次のように使用します。

オブジェクト.downto(min){|変数|
  実行する処理1
  実行する処理2
}

または次のように記述することもできます。

オブジェクト.downto(min) do |変数|
  実行する処理1
  実行する処理2
end

オブジェクトに指定した数値が min よりも小さい場合は繰り返し処理は行われません。

downto メソッドは、変数に「オブジェクト」から min までの数値を順に代入しながら { から } までの処理(又は do から end までの処理)を実行します。 1 回繰り返す毎に 1 ずつ数値は減ります。(「|変数|」の部分は省略可能です)。

具体的には次のように使用します。

7.downto(3){|num|
  puts("num = " + num.to_s)
}

上記の場合は変数「num」に数値「7」から「3」まで順に代入しながら「{」から「}」までの処理を繰り返します。

サンプルコード

では簡単なプログラムで確認してみます。

# encoding: UTF-8

puts("3.times")
3.times{|num|
  puts("num = " + num.to_s)
}

puts()

puts("6.upto(8)")
6.upto(8){|num|
  puts("num = " + num.to_s)
}

puts()

puts("8.downto(6)")
8.downto(6) do |num|
  puts("num = " + num.to_s)
end

下記のように実行して下さい。

timesメソッド、uptoメソッド、downtoメソッド

-- --

Ruby で times メソッドや upto メソッドを使って指定した回数だけ処理を繰り返す方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。