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);