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

  • 25
    いいね
  • 2
    コメント
この記事は最終更新日から1年以上が経過しています。

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についてはこちら

http://qiita.com/lasershow/items/e7a75d3e1653c9ca39d8

  • この記事は以下の記事からリンクされています
  • Ruby基礎文法からリンク