我不确定这是如何有效的代码:
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
我正在从教程中阅读此内容,但我无法找到有关 << 如何专门用于实例变量的任何信息。我认为在处理要“附加到数组”的数组时,“<<”只是重载了。这实际上是在做单例类的事情吗?