在Ruby中,“接收器”是指什么?
答
在Ruby(和其它语言的是采取从Smalltalk的灵感)对象被认为是发送和接收的邮件'。
在Ruby,对象,基类一切的,具有发送方法:Object.send例如:
class Klass
def hello
"Hello!"
end
end
k = Klass.new
k.send :hello #=> "Hello"
k.hello #=> "Hello"
在这两种情况下,k是“你好”消息的接收器。
答
之前的对象。
想到调用方法x.y作为“向对象x发送指令y”。
它的思维方式Smalltalk的,因为你得到的一些Ruby的更先进的功能,将满足你的需要。
答
在原来的Smalltalk术语,关于“对象”方法被代替refered为消息对象(即你没有呼吁对象foo的方法,你发送对象foo的消息)。所以foo.blah发送了“foo”对象正在接收的“blah”消息; “foo”是“blah”的接收者。
我曾经怀疑这是否是一个受美式橄榄球启发的术语。 – 2010-03-31 06:57:39
我从ruby得到的新想法是OO编程就像是一种消息传递。 – Alex 2012-06-15 08:13:49