0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

timeメソッドによる繰り返し

Posted at

繰り返し処理を実装してみよう

while文やeach文など様々な繰り返し処理を行うメソッドは数多く存在しますが、
今回はtimesメソッドについて記載しようと思います。

問題

以下のような問題があったとします。
・要件を満たすプログラムを記述しなさい
・ユーザが数字を入力する
・入力した数だけHELLO WORLD!と出力する

私はことプログラムを以下のように実装しました。

def say_hello(num)
  count = 0
  while count < num do
    puts "HELLO!"
    count += 1
  end
end

puts "数字を入力してください"
num = gets.to_i
say_hello(num)

say_hellowメソッドの中で変数countを定義し
HELLO WORLD!が出力されるたびにcountを+1して
ユーザーが入力した数がcountより少なくなったら出力をやめるというもの
要件は問題なく満たしております。
しかしこれ...長くないですか?

timesメソッド

上記の要件をもっと簡単に実装する方法があります。
それがtimesメソッド!
timesメソッドを使用すると以下のようになります。

def output(num)
  num.times{ puts "HELLO WORLD!" }
end

puts "何回表示させますか?"
num = gets.to_i
output(num)

とてもすっきりしていますよね?
timesメソッドは変数に対して使用すると後述する処理をその回数分実行します。
そのためユーザが入力した数だけ出力したということですね
while文を使用しなくてもすっきりとしたコードで実装することができます

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?