这是从类方法调用Instance方法的正确方法吗?这里使用Name对象传递instance_var。我想从传递给class方法的instance_var对象中调用func1。
我写了这个:
Class Name
def initialize
@name
end
def func1(value)
puts value
end
def self.func2(instance_var,val)
instance_var.func1(val)
end
end
答案 0 :(得分:3)
你如何致电func2
?
您的代码有一个小错误。您写了Class
而不是class
。使用Class
会出现语法错误。
此代码有效:
class Name
def func1(value)
puts value
end
def self.func2(instance_var,val)
instance_var.func1(val)
end
end
x = Name.new
Name.func2(x, 12) #12
#or
Name.func2(Name.new, 12) #12
你的
def initialize
@name
end
将创建一个空变量@name
。它永远不会得到价值。要分配您需要的值:
class Name
def initialize (var)
@name = var
end
end
x = Name.new(:x)