在PHP中,我可以在类的方法中执行此操作:
Condition::evaluate($this, $primaryCondition);
这允许我通过$ this将类的整个实例传递给另一个类。我怎样才能在Ruby中实现同样的目标?
答案 0 :(得分:7)
在ruby中,您有self
个关键字。您可以阅读in this article,了解self
在不同情境中的行为。
答案 1 :(得分:2)
你当然可以在Ruby中做到这一点。
考虑两个类:
class Foo
def test
puts 'We are in class: For'
end
end
class Bar
def initialize(your_object)
@your_object = your_object
end
def test(i = nil)
puts 'We are in class: Bar'
if @your_object
@your_object.test
end
end
end
foo = Foo.new
bar = Bar.new(foo)
bar.test
# We are in class: Bar
# We are in class: For
^^^^你可以看到,你将方法.test应用于存储在foo变量中的对象。
类定义中的当前对象可以使用关键字“self”来解决。