エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Rubyのif式は「最後に評価された式を戻り値」としていますが、条件がfalseでelseがないときはnilを返します。elseがないとき、なぜ条件式が「最後の評価(戻り値)」ではないのでしょうか?
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rubyのif式は「最後に評価された式を戻り値」としていますが、条件がfalseでelseがないときはnilを返します。elseがないとき、なぜ条件式が「最後の評価(戻り値)」ではないのでしょうか?
回答 (3件中の1件目) それは [code]if false expr1 end [/code]というものは [code]if false expr1 else... 回答 (3件中の1件目) それは [code]if false expr1 end [/code]というものは [code]if false expr1 else nil end [/code]の省略であり最後の評価値であるnilがif文全体の値であると解釈しているからです。nilはRubyにおいて「存在しない」というような意味を持ちますのでちょうどよいでしょう。 他の可能性としては、厳密に最後に評価した値となる条件式の値を返すというものも考えられますが、expr1でなくelseがないとなるとその値は偽に決まっているわけですから、違いは条件式の評価結果がfalseであ...
2020/10/10 リンク