2016-09-07 35 views
0

如何從同一個類中的一個方法獲取值到另一個方法,以便我可以使用它?如何從同一個類中的一個方法獲取值到另一個方法?

實施例:

def initialize var1 
    @var1 = var1 
end 

def method_a var2 
    #Here how can I use var1 to add it to var1 to make a var2 
    var2 = var1 + var1? 
end 

def method_b 
    #display 
    "#{@var1}, "#{var2}" 
end 

所以我會使得該未初始化,然後在method_b顯示它在method_a第二可變。

+0

'@ var1'是在同一個類中的所有方法可見。 –

+0

是的,但它是var2,我需要創建 – Pending

+0

如果你想要一個值var2定義爲var1 + var1,那麼定義一個名爲var2的方法會更有意義,它只是返回var1 + var1 –

回答

1
def method_a 
    @var2 = @var1 + @var1 # or: @var2 = @var1*2 
end 

def method_b 
    puts "#{@var1}, #{@var2}" 
end 

或someth喜歡它:

class Foo 
    def initialize var1 
    @var1 = var1 
    @var2 = method_a #or change this string to call method_a, so just: method_a and this return @var2 = @var1*2 
    end 
    def method_a 
    @var1*2 #and there you should use variable @var2 = @var1 + @var1 (or @var1*2) 
    end 
    def method_b 
    p "#{@var1}, #{@var2}" 
    end 
end 


#=> boo = Foo.new(1) 
#=> boo.method_b 
#=> 1, 2 
相關問題