-1
def say(arg)
  "Hello, #{arg}.\n"
end

say("ABC")  # => "Hello, ABC.\n"

なぜここに改行の代わりに\nが出力されるのですか?

4

3 に答える 3

2

say文字列を返すためです。何も印刷されません。

何かを印刷したい場合は、次のことを試してください。

def say(arg)
  puts "Hello, #{arg}.\n"
end
于 2013-03-24T05:26:35.843 に答える
0

irb文字列のRuby表現を表示するこれを試している可能性があります。比較:

irb(main):007:0> puts say("ABC") + say("ABC")
Hello, ABC.
Hello, ABC.
=> nil
irb(main):008:0> puts "ABC" + "ABC"
ABCABC
=> nil
于 2013-03-24T05:26:42.950 に答える
0

実際には、stdioなどに出力されることはなく、関数から文字列を返すだけです。

これをIRBで評価していると仮定します。IRBは、すべての式の結果を出力します。使用putsまたは同様のもの。

于 2013-03-24T05:28:51.737 に答える