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

私は上記のコードを持っています...私は次に書くと言うことができます。この変数にはどのようにアクセスすればよいですか?

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

私はあなたがいないだけで、それを書いてきたように、これは

puts saves variable that is inside getsaves 

答えて

2

を?:どのように行うのか、私はクラスの範囲外だときgetsaves で変数を保存しアクセスしたいですsaves変数がクラススコープの外部からアクセスできない場合、getsavesメソッドの末尾にあるスコープから外れます。

あなたはこの代わりのようなものを行う必要があります。今、あなたは、単に@saves変数にアクセスするためにj.savesを使用することができます

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 

関連する問題