「unless」「case」「三項演算子」を用いた条件分岐(Ruby)

Ruby

unless文について

Image from Gyazo Image from Gyazo

if文で否定した条件は、unless文で肯定した条件と同じ。

 

case文について

 

case 評価したいオブジェクトや式

when 値1

処理1

when 値2

処理2

….

when 値n

処理n

end

 

これは、じっさいに見たほうが早いです。

Image from Gyazo Image from Gyazo

 

と、まあこんな感じ。

もちろん、以前の記事のように、if文でやることも可能です。

 

Image from Gyazo

このように、thenをつかって一行に押し込むことができる。

これも、以前の記事のように、if文でやることも可能です。

 

ただし、最後のelseはthenをつかえない。以下のように、シンタックスエラーとなる。

Image from Gyazo

 

だが、一行に押し込めないということではなく、ちゃんと一行にできる。

 

条件分岐を1行に押し込める方法

 

式 ? 真だったときの処理 : 偽だったときの処理

これでオッケー。

 

Image from Gyazo Image from Gyazo

 

nを評価して、戻り値をmessageに代入し、出力している。

 

今回使用した本