Ruby 鲁比<&书信电报;(双小于)带有实例变量

Ruby 鲁比<&书信电报;(双小于)带有实例变量,ruby,Ruby,我不确定这是如何有效的代码: 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('Ti

我不确定这是如何有效的代码:

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
类库
def初始化(游戏)
@游戏
结束
def添加_游戏(游戏)

游戏这个代码有点混乱。该行:

games << game
或者这个:

(self.games).<< game

(self.games)。它使用类实例变量,请查看您的代码:

class Library
  def initialize(manygames)
    @games = manygames
  end

  def add_game(game)
    imlookingforclassinstancevariable << game
  end

  def imlookingforclassinstancevariable
    @games #i'm the final storage of your array
  end
end
games = ['WoW','SC2','D3']
lib = Library.new(games)
puts lib.imlookingforclassinstancevariable
lib.add_game('Titan')
puts lib.imlookingforclassinstancevariable
类库
def初始化(多个名称)
@游戏=许多游戏
结束
def添加_游戏(游戏)

我在寻找ClassInstanceVariable啊,这更有意义,Jim。非常感谢。或者
games(),如果没有父母,它就更像是DSL了,而且是封装的,依我看。另外,试着在你上一次
put lib.games
之后添加一个
put games
,你就会明白为什么
@games=games
应该是
@games=games.dup
。为什么是“类实例变量”而不是“实例变量”?
(self.games).<< game
(self.games) << game
class Library
  def initialize(manygames)
    @games = manygames
  end

  def add_game(game)
    imlookingforclassinstancevariable << game
  end

  def imlookingforclassinstancevariable
    @games #i'm the final storage of your array
  end
end
games = ['WoW','SC2','D3']
lib = Library.new(games)
puts lib.imlookingforclassinstancevariable
lib.add_game('Titan')
puts lib.imlookingforclassinstancevariable