こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ruby メソッドのリターン

def hoge(arg)
""
arg if arg != ""
end
p hoge("")
上記実行の結果はnilが出力されました。

def piyo(arg)
""
end
p piyo("")
しかし、上記実行の結果は""が出力されました。

前者は""を返してくれないのが納得できません。
説明して頂けませんか?

投稿日時 - 2007-12-31 21:48:04

QNo.3641512

暇なときに回答ください

質問者が選んだベストアンサー

>前者は""を返してくれないのが納得できません。
リファレンスマニュアルを見ると、

---- 引用 ----
if 修飾子

文法: 式 if 式

右辺の条件が成立する時に、左辺の式を評価してその結果を返します。
条件が成立しなければ nil を返します。
--------------

とありますが、それは言語仕様上おかしいという意味の質問ですか?

投稿日時 - 2007-12-31 22:38:32

お礼

あ! if文の評価値が返ってるのですね。

お騒がせしました。 ありがとうございます。

投稿日時 - 2007-12-31 23:53:51

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問