如何從一個方法引用對象而不將其作爲變量傳遞?引用對象,而不會傳入新對象
我得到錯誤:
NameError: undefined local variable or method ‘my_object’ for Myclass:Class
class B
attr_accessor :somethings
include Enumerable
def initialize(*values)
self.somethings = []
end
end
my_object = B.new({d:'d'})
class Myclass
def self.my_method
p my_object
end
end
Run: Myclass.my_method
我不想爲我所有的方法是做...
def self.my_method(my_object)
p my_object
end
我也可以解決這個問題從全局變量使用
$my_object = B.new({d:'d'})
但是,我只是真的想讓我的方法在Myclass類中可用的變量。
它可以表達自己更好嗎? –
您給出的示例按預期工作(省略未定義的函數add_my_values時)。請舉個例子來說明你所描述的NameError。 –
@BorisStitnicky我試圖改寫這個帖子,希望這個更清楚。 – user2012677