ぺんぎんのRails日記

ぺんぎん。エンジニア経験ゼロ。Rails勉強中。

【備忘録】三項演算子を使ってif文を省略

今回は三項演算子を使って、if文を省略して書く方法についてです٩( ᐛ )و

簡潔にまとめると、このif文が、

if xxx

  yyy

else

  zzz

end

三項演算子を使って短く書くと、こうなります。

xxx ? yyy : zzz

具体的に例を書いてみます。

bird = 'penguin'
bird == 'penguin' ? (puts 'You can swim!') : (puts 'You can fly!')

=> You can swim!

birdがペンギンだったら'You can swim!'を、ペンギン以外だったら'You can fly!'が表示されるようにしました。

ちなみに下のように?が2つあっても驚かないでください。

price = ''
default_price = 100

price.empty? ? (puts default_price) : (puts price)

=> 100

empty?という真偽判定を行うメソッドを使っています。 つまり、「priceは空ですか?」という判定をしていて、trueの場合はdefault_priceを表示し、falseの場合はpriceを表示します。