我正在尝试创建一个简单的 Ruby 类,但我被卡住了。这是我的代码:
#!/usr/bin/ruby
class Dock
@ships = Hash.new(false)
def initialize()
end
def store(ship, pier)
@ships[pier] = ship
end
end
yathi = Dock.new
yathi.store("test", 12)
但是当我尝试通过在终端中运行它来运行它时:
ruby test.rb
这是我收到的错误消息:
test.rb:8:in `'store': undefined method `'[]=' for nil:NilClass (NoMethodError)
from test.rb:13
如果我这样重写它,它确实有效:
@ships = {pier => ship}
但这每次都会创建一个新的哈希,只有一个我不想要的值。有人可以告诉我我做错了什么吗?