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 5 years have passed since last update.

whileの基本

Last updated at Posted at 2019-03-16

while

ある条件が満たされるまで同じ動作を繰り返したい場合の処理**(繰り返し処理)**の一つとしてwhileがあります。
- [基本形]
- [無限ループ]
- [無限ループを抜けたいとき]

基本形


while 動作を繰り返す条件 do
  繰り返して欲しい処理
end

example1

入力

i = 0
while i <= 10
  puts(i)
  i = i + 1
end

出力

0
1
2
3
4
5
6
7
8
9
10

example2

入力

i = 10
while i >= 0
  puts(i)
  i = i - 1
end

出力

10
9
8
7
6
5
4
3
2
1
0

無限ループ

while文の条件設定を誤ると処理が止まらない無限ループに陥ってしまいます。

example

入力

i = 1
while i > 0 do
  puts(i)
  i = i + 1
end

実行すると処理が止まらないので、macでしたらCtrl+Cで強制的に止めて下さい。

出力(最後の方だけ)

277645
277646
277647
277648
277649
277650
277651
277652
277653
277654
277655
277656
277657
277658
277659

無限ループを抜けたいとき

わざと無限ループ処理を行い、途中でループを抜けたい場合

if ~ break

を使用しましょう。

example

入力

i = 1
while i > 0 do
  puts(i)
  i = i + 1
  if i > 21
    break
  end
end

出力

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

ちなみにi > 21でbreakですが、i = 21の時は、まず21がputsされます。その後、(i=)21に1が足され22になります。そこでi>21となりifの条件を満たしbreakが実行されます。なので、21は出力されます。

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?