while を使うと、繰り返し処理を行うことができます。
以下から Rubyでの「while・do」の使い方を解説していきます。
while の基本
「while」を使うと、指定した条件が真(true
)の間、繰り返し処理を行うことができます。
while 条件 do
繰り返しを行う処理
end
while を使ったプログラム例
実際にプログラムを書いて動作を確認してみましょう。
以下は、「i」の変数に入れた 1
を、5より小さい間、1ずつ足しながら表示する例。
i = 1
while i < 5 do
p i
i += 1
end
1
2
3
4
i += 1
は、「i」の変数に入っている数値に 1 を足す書き方です。
i = i + 1
と書くこともできます。
do 〜 end
のブロック内に繰り返して行いたい処理を書きます。今回の場合は p i
で「i」の値を表示し、i += 1
で「i」に1を足す処理を繰り返し行います。
そのため「i」の値は 1
, 2
, 3
, …… と増えていき、5
になると、条件で指定した i < 5
が偽(false
)となるため、繰り返し処理は終了します。
条件の指定方法
上の例では条件式として i < 5
を用いましたが、他にもさまざまなバリエーションがあります。
条件式で使える比較演算子
条件式で使える比較演算子には以下のようなものがあります。
a == b |
a と b が等しい |
a != b |
a と b が等しくない |
a > b |
a より b が小さい |
a < b |
a より b が大きい |
a >= b |
a より b が小さい、または等しい |
a <= b |
a より b が大きい、または等しい |
a && b |
a も b も正である |
a || b |
a または b が正である |
!a |
a の否定 |
上の記述を組み合わせて、
a == b && c == d
(a > b || c < d) && e == d
といった記述もできます。
以下は条件式の具体例。
score >= 80 && score <= 100
!(score >= 80 && score <= 100)
条件式で使えるメソッド
結果が true
や false
で返ってくるものであれば、条件式でメソッドを使うことができます。
以下の例では a.empty?
で配列が空かどうかをチェックしています。
a = []
if a.empty?
p "配列は空です"
end
"配列は空です"
配列や empty?
の使い方について詳しくはこちら。
まとめ
以上、Rubyでの「while・do」の使い方でした!
ここまでの内容をまとめておきます。
- 「while」を使うと、繰り返し処理を行うことができる。
while ○○○ do 〜 end
の〜
のブロック内に、繰り返して行いたい処理を書く。while ○○○ do 〜 end
の○○○
で指定した条件が真(true
)の間、処理が繰り返し行われる。