式修飾子(while修飾子、unitl修飾子)を使った繰り返し処理

while 文や until 文を使用することで繰り返し処理を行うことができますが、似た構文として式修飾子が用意されています。ここでは Ruby で式修飾子を使った繰り返し処理の記述方法について解説します。

(Last modified: )

式修飾子の使い方

while 文を使用することで、条件が真の間繰り返し処理を実行させることができますが、次のような記述方法も可能です。

真の時に実行する式 while 条件式

このような構文を while 修飾子といいます。上記では条件式が真の間 while の左辺の式を繰り返し実行します。

これは while 文で次のように記述した場合と同じです。

while 条件式 do
  真の時に実行する式
end

while 修飾子は実行する処理を先に記述しているだけです。実行する処理が 1 行の場合に簡潔に記述できます。例えば次のように使用してみます。

num = 2
num *= 2 while num < 1000

2 の累乗を計算していき 1000 を超えたらストップします。これは while 文を使って次のように記述した場合と同じです。

num = 2
while num < 1000 do
  num *= 2
end

なお while 修飾子と同じように until 修飾子も用意されています。

偽の時に実行する式 until 条件式

until 修飾子は条件式が偽の間 until の左辺の式を繰り返し実行します。

サンプルコード

では簡単なプログラムで確認してみます。

# encoding: UTF-8

num = 2
puts("[start]")

num *= 2 while num < 1000

puts("num = " + num.to_s);
puts("[end]")

下記のように実行して下さい。

式修飾子(while修飾子、unitl修飾子)

-- --

Ruby で式修飾子を使った繰り返し処理の記述方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。