2012-04-07 2 views
0
class Player 
    def getsaves 
    print "Saves: " 
    saves = gets 
    end 
    def initialize(saves, era, holds, strikeouts, whip) 
    end 
end 

J'ai le code ci-dessus ... disons que je puis écrire.Comment accéder à cette variable?

j = Player.new(30, 30, 30, 30, 30) 

Je veux accéder à la variable enregistre getsaves Quand je suis en dehors de la portée de la classe, comment puis-je faire ?:

puts saves variable that is inside getsaves 

Répondre

2

Comme vous l'avez écrit, non seulement la saves variable inaccessible de l'extérieur de la portée de la classe, il sort du champ d'application à la fin de la getsaves méthode.

Vous devriez faire quelque chose comme ceci:

class Player 
    def getsaves 
    print "Saves: " 
    @saves = gets # use an instance variable to store the value 
    end 
    attr_reader :saves # allow external access to the @saves variable 
    def initialize(saves, era, holds, strikeouts, whip) 
    end 
end 

Maintenant, vous pouvez simplement utiliser j.saves pour accéder à la variable @saves.

Questions connexes