while式
【開発環境】
OS:Win11(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1
【while文】
条件が成り立つまで、処理を繰り返す。
・whileの構文
while(条件式)do
処理A
処理B
処理C
end
・例文
C:\Users\shyok>irb
irb(main):001:0> a = 0
=> 0
irb(main):006:1* while(a < 10) do
irb(main):007:1* p a
irb(main):008:1* a += 1
irb(main):009:0> end
0
1
2
3
4
5
6
7
8
9
=> nil
irb(main):010:0>
注意
a += 1を書かないと無限ループになる。無限ループに陥ったら、強制終了する
C:\Users\shyok>irb
irb(main):001:0> a = 0
=> 0
irb(main):002:1* while(a < 10) do
irb(main):003:1* p a
irb(main):004:1* sleep 1
irb(main):005:0> end
0
0
0
0
0
0
0
0
0
0
0
0
0
0
CtrlキーとCを同時に押すと
0
D:/pg/Ruby30-x64/lib/ruby/3.0.0/irb.rb:427:in `raise': abort then interrupt! (IRB::Abort)
from (irb):4:in `sleep'
from (irb):4:in `
from D:/pg/Ruby30-x64/lib/ruby/gems/3.0.0/gems/irb-1.3.5/exe/irb:11:in `<top (required)>'
from D:/pg/Ruby30-x64/bin/irb.cmd:31:in `load'
from D:/pg/Ruby30-x64/bin/irb.cmd:31:in `
irb(main):006:0>
^C
irb(main):006:0>
【break を使った構文】
while(条件式)do
処理A
break (ifを使った条件式)
処理C←ifが成立したら、実行されない
end
C:\Users\shyok>irb
irb(main):001:0> a = 0
=> 0
irb(main):002:1* while(true) do
irb(main):003:1* p a
irb(main):004:1* a += 1
irb(main):005:1* break if a > 9
irb(main):006:0> end
0
1
2
3
4
5
6
7
8
9
=> nil
irb(main):007:0>
【nextを使った構文】
while(条件式)do
処理A
next (ifを使った条件式)
処理C←ifが成立したら、実行されない
end
・例文
irb(main):001:0> a = 0
=> 0
irb(main):002:1* while(a < 10) do
irb(main):003:1* a += 1
irb(main):004:1* next if a == 5
irb(main):005:1* p a
irb(main):006:0> end
1
2
3
4
6
7
8
9
10
=> nil
irb(main):007:0>
※コメント投稿者のブログIDはブログ作成者のみに通知されます