2015-02-23 39 views
-2

我需要對變量執行一個操作,但該方法在另一個類中。我期望輸出爲以下爲100:對其他類的變量調用方法

Class a 
    def ask 
    var = 10 
    var.ans! 
    puts var 
    end 
end 

Class b 
    def ans! 
    self * 10 
    end 
end 

請幫助。

+1

'var'具有價值'100',這是一個'Fixnum',而不是' B'。我不能說我會改變,因爲你的例子很不清楚;也許有一個更具體的例子,有意義的類? – Amadan 2015-02-23 16:58:40

+1

你的例子甚至不是有效的。 Ruby的'class'關鍵字是小寫字母,而類名以大寫字母開頭...... – Stefan 2015-02-23 17:10:43

回答

0

不知道這是否是你所需要的,但這個工程:

class A 
    def ask 
    var = 10 
    var = B.new.ans!(var) 
    puts var 
    end 
end 

class B 
    def ans!(var) 
    var * 10 
    end 
end 

A.new.ask #=> 100 

class A 
    def ask 
    var = 10 
    var = B.new(var).ans! 
    puts var 
    end 
end 

class B 
    attr_accessor :var 

    def initialize(var) 
    @var = var 
    end 

    def ans! 
    self.var * 10 
    end 
end 

A.new.ask #=> 100 
相關問題