2
在PHP中我可以一个类的方法中做到这一点:红宝石传递对象实例作为参数
Condition::evaluate($this, $primaryCondition);
这让我通过$这之类的整个实例传递给不同的类。我如何在Ruby中实现相同的功能?
在PHP中我可以一个类的方法中做到这一点:红宝石传递对象实例作为参数
Condition::evaluate($this, $primaryCondition);
这让我通过$这之类的整个实例传递给不同的类。我如何在Ruby中实现相同的功能?
在ruby中你有一个self
关键字。你可以阅读关于它in this article,它解释了self
如何在不同的情况下表现。
你可以用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
^^^^你可以看到,你申请。测试对象存储在foo的变量的方法。
类定义中的当前对象可以使用关键字“self”进行寻址。
好的,那跟PHP使用self :: then有很大不同。谢谢 – Dan