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 1 year has passed since last update.

Ruby 「?」と「:」を使った条件演算子

Posted at

スクールのテキストの中の問題で

score = 50
battle = score < 70 ? "勝ち" : "負け"
p battle

の結果を考えましょう、というのがあった。

何これ、「?」とか「:」とか、知らん知らん知らん。。。

調べてみると、伊藤淳一さんの本にバッチリ同じようなものが載っていた!

[ 式 ? 真だった場合の処理 : 偽だった場合の処理 ]

とのこと。
なので、上記コードでbattle部分への代入箇所を除くと、下記コードのようにも書き換えられる、とのこと。

score = 50
if score < 70
 "勝ち"
else
 "負け"
end

おぉーそうなんだ、なるほど!

なので、今回は、50<70、は正しく、true、で真だった場合の処理にあたるので、

score < 70 ? "勝ち" : "負け"

は、「勝ち」となり、
変数battleには、「勝ち」が代入される!!

ちなみに、ifを用いた書き方とどちらを使用した方が良いかの判断は、コードの可読性を考慮してその時々によって使い分けると良いそうです!!

以上!!
今日も、少しづつ学んで成長できました〜!!

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?