これがどのように有効なコードなのかわかりません:
class Library
def initialize(games)
@games = games
end
def add_game(game)
games << game
end
def games()
@games
end
end
games = ['WoW','SC2','D3']
lib = Library.new(games)
puts lib.games
lib.add_game('Titan')
puts lib.games
これは出力されます:
すごい SC2 D3 タイタン
私はそれが印刷されるべきだと思うだろう
すごい SC2 D3
add_game メソッドはインスタンス変数を使用しません。Ruby は初めてなので、これがどのように機能するのかわかりません。それはあるべきではありません:
def add_games(game)
@games << game
end
私はチュートリアルからこれを読んでいますが、 << が具体的にインスタンス変数でどのように機能するかについて何も見つけることができませんでした。配列を「配列に追加」するときに「<<」がオーバーロードされただけだと思いました。これは実際にシングルトンクラスで何かをしていますか?