単純な 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}
しかし、これは私が望まない値を1つだけ持つ新しいハッシュを毎回作成します。誰かが私が間違っていることを教えてもらえますか?