LoginSignup
149
139

More than 5 years have passed since last update.

【Ruby・Rails】三項演算子(条件演算子)を使ってif文をスリムに書こう!

Last updated at Posted at 2016-01-26

if文を使っていてなーんかモサッとしている..と思ったことはありませんか?

  def add_button_name
    if controller.action_name == 'show'
      "コメントを投稿する"
    else
      "コメントを更新する"
    end
  end

※なーんかモサッとしているif文

こんなモサッとしているif文は、三項演算子(条件演算子)を使ってスリムに書いてみましょう!

三項演算子(条件演算子)とは

三項演算子(条件演算子)を使用することによって

if 条件
 式1
else
 式2
end

このようなif文を

条件 ? 式1 : 式2

のように、書き換えることができます。

先ほどの例を書き換えてみる

【モデルケース】
・通常時

  def add_button_name
    if controller.action_name == 'show'
      "コメントを投稿する"
    else
      "コメントを更新する"
    end
  end

** 三項演算子(条件演算子)**

def add_button_name
  controller.action_name == 'show' ? "コメントを投稿する" : "コメントを更新する"
end

スリムに書けましたね!

注意点

三項演算子(条件演算子)を使用した書き方は、複雑なif文を書き換えるのには、向いていません。素直にif文を使用しましょう。

controller.action_nameについてはこちら

149
139
3

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
149
139