问题描述
我试图以从未使用Ruby进行编程的C#学生的身份来理解此Ruby代码。除了上面仅带有self
的那一行之外,我对大多数其他功能都有很好的想法。我将不胜感激您的理解。我最好的猜测是self
用于调用类的initialize函数,但我不确定100%。
def link(cell,bidi=true)
@links[cell] = true
cell.link(self,false) if bidi
self
end
解决方法
每个方法都会返回一些信息。通过显式的return
行,或者如果没有显式的返回,则返回最后执行的行。
在您的示例中,self
使方法返回对象,该对象是该方法的接收者……通常是定义方法的类的实例,尽管它可以被其他类继承,或可能来自包含的模块(mixin)。