アウトプットを頑張る

初めてのプログラミング学習期間中の記録と、日頃読んでいる本をメモのアウトプットをがんばります。

【プログラミング学習】Rubyの記法〜繰り返し処理〜

■プログラミング学習 f:id:yuma6128:20211119073209j:plain

while文
Rubyの繰り返し処理としては、eachの他にもwhile(ワイル)文という構文があります。
while文は、指定した条件が真である間、処理を繰り返します。

while 条件式 do
 #条件が真であるときに繰り返す処理
end

※条件式のあとのdoは省略することができます。

例文

number = 0

while number <= 5
puts number
number +=1
end

とすると、ターミナルの出力結果は
0
1
2
3
4
5
となります。これは、number <= 5の値まで出力されています。
無限ループ
繰り返し処理を実装する際に、「無限ループ」を覚えておく必要があります。
無限ループとは処理が永遠に繰り返されることを指します。
無限ループのサンプルとして、2つ例示いたします

例文1

number = 0

while number <= 5
puts number
# 削除する number +=1
end

先程の例文から、number +=1を削除すると、numberの変数の値は、常に0のままなので、 while number <= 10が常に真となり、 無限に0がターミナルに出力されます。

例文2

number = 0

while true
puts number
number +=1
end

こちらは、while文の特性を利用(右の式を判定最終的に真偽値に変換)し、条件式部分にはじめからtrueと書くことによって、 意図的に無限ループを発生させているものです。
無限ループはコンピュータに大きな負荷をかけてしまうため、繰り返し処理を実装する場合は特に注意が必要です。

無限ループから抜け出す方法 break
ある特定の条件になったらループから抜け出すという処理のときにbreakを使います。


number = 0

while number <= 8
 if number == 4
   break
end
puts number
number +=1
end

# ターミナル出力結果
# 0
# 1
# 2
# 3

上記のコードの通り、if文を追加しています。
numberの変数が4にだったとき、breakを実行しています。
実行結果としては、出力結果は3で止まっています。
つまり、number変数の値が、4のときにif文内のbreakが実行され、ループから抜け出していることが確認できます。 if文などの条件分岐とbreakを使うと、特定の条件のときにループを脱出することができます。