基礎プログラミング I 第 3 回 (キーボードから入力して計算させるには) 「もしそうでない限りは」 講義ノート目次

if A == B -- end は「もし AB に等しければ」 という場合であるが、 「もし AB に等しくなければ」 という場合には unless -- != -- end が使える。


if A == B もし A が B ならば
C を実行せよ
end unless A != B もし A が B とならない限りは
C を実行せよ
end

!= は比較演算子で、「等しくない」という意味である。 stop_until.rb を変更して stop_unless.rb を作り、結果を比べてみよう。

#!/usr/koeki/bin/ruby

ans = "stop"
while true
    STDERR.print("誰か止めて!!: ")
    guess = gets.chomp
    unless guess != ans
        break
    end
end
print("止まった\n")

unless や until を組み合わせた文章を考え、 プログラム風に書き出せ。