0
考慮到這一點Ruby代碼:爲什麼不帶鍵的格式化字符串會自行返回?
format_string = "%{greeting}, %{name}"
puts format_string %{greeting: "Hi", name: "John"} # <-- returns "Hi, John"
puts format_string # <-- returns "%{greeting}, %{name}"
puts format_string %{greeting: "Hi"} # <-- returns key{name} not found (KeyError)"
,因爲它缺少一個關鍵下面的代碼產生錯誤。
puts format_string %{greeting: "Hi"} # returns "key{name} not found (KeyError)"
雖然下面的代碼返回FORMAT_STRING變量的精確值,儘管它缺少這兩個鍵。我希望這個值等於零,或者導致像上面的代碼一樣的錯誤。
puts format_string # returns "%{greeting: "Hi", name: "John"}"
我在尋找如何以及爲什麼會返回精確值的解釋,在沒有密鑰或變量被設置爲字符串。 我已經閱讀了紅寶石文檔和與ruby格式有關的多個網頁,但我一直未能找到答案。