标签: ruby
我正在尝试以下代码:
a = Hash.new a << "Bom dia!" # => NoMethodError: undefined method `<<' for {}:Hash
知道为什么它会返回“未定义的方法”吗?
答案 0 :(得分:4)
Hash没有<<方法。
<<
我想真正的问题是你认为它的原因,以及如果你<<一个字符串到一个由键/值对组成的对象,你认为应该发生什么。
你有可能打算做以下事吗?
a = Array.new
答案 1 :(得分:0)
这是因为您正在尝试使用<<(铲运营商)为Hash分配值。
相反,请尝试像这样分配它们:( Hash中应该有键/值对)
Hash
a = Hash.new a[:foo] = "Bom dia!"
,或者
a = {foo: "Bom dia!"}