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格式有关的多个网页,但我一直未能找到答案。