0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Ruby] 条件分岐 unless文

Posted at

参考書でunless文について学んだため記事にしてみました。

認識違いがあった場合などは是非ご指摘下さい。

#unless文とは
if文は条件の結果が真だったときに処理を実行しますが、それとは反対に、偽だったときに処理を実行するunless文という処理構文があります。

ifについてはこちらにあります。
https://qiita.com/muffin-men/items/fd8637bb1b98cb369c5b

今回はunless文 / if文を比較してみたいとおもいます。
それでは下記のコードにてご説明します。

####unless文

age = 16
unless age >= 20
  puts "未成年者にはお酒を提供できません"
end

####if文

age = 16
if age < 20
  puts "未成年者にはお酒を提供できません"
end

unless文はifの条件を裏返して利用するものであり、unless文で表現できることはif文でも表現可能です。
同じことが書けるのならば、どっちを使ったら良いのか疑問を抱くはずです。

上記のコードではunlessのときは「20歳以上かどうか(もし違うなら)を意識することになるのに対して、ifのときは「20歳未満かどうか」を意識することになります。20歳以上かどうかという条件をほかでも多用している場合は、それをそのまま書けるunless文のが分かりやすいです。

#まとめ
基本的にはif文を使うのが分かりやすいですが、条件の内容として直感的に把握しやすい方を利用するためにはunlessを選びます。

#参考書
・ 現場で使える Ruby on rails 5 速習実践ガイド

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?