2
正如问题所询问的那样,它只是调用to_s
上的嵌入式表达式的返回值?ruby字符串中的#{}实际上做了什么?
是否这样?
"1, 2, #{1 + 2}" == "1, 2, " + 3.to_s
还是有更多的在这里?
正如问题所询问的那样,它只是调用to_s
上的嵌入式表达式的返回值?ruby字符串中的#{}实际上做了什么?
是否这样?
"1, 2, #{1 + 2}" == "1, 2, " + 3.to_s
还是有更多的在这里?
是的,它调用to_s
表达式的结果。尝试一下。
:001> class Monkey
:002> def to_s
:003> "monkey"
:004> end
:005> end
=> nil
:006> m = Monkey.new
=> monkey
:007> "I am a #{m}"
=> "I am a monkey"
这真的只是一个地方持有人说:“嘿,在这里我们有一些需要评估和投射为一个字符串的红宝石代码。如果您完全熟悉C语言的语言,它几乎与以下内容相同:
printf("1, 2, %d", 1+2);