38、Ruby 中的可调用对象、回调与核心功能操作

Ruby 中的可调用对象、回调与核心功能操作

1. 方法作为对象

在 Ruby 里,我们最常调用的并非 Procs 或 lambdas,而是方法。虽然通常我们是通过向对象发送消息,让对象执行相应方法,但实际上也能把方法当作对象来处理。

1.1 获取方法对象

可以使用 method 方法,并将方法名作为参数(以字符串或符号形式)来获取方法对象。示例如下:

class C
  def talk
    puts "Method-grabbing test!  self is #{self}."
  end
end
c = C.new
meth = c.method(:talk)

此时, meth 就是一个绑定的方法对象,它是专门绑定到对象 c talk 方法。若向 meth 发送 call 消息,它会以 c 作为 self 来调用自身:

meth.call

输出结果为:

Method-grabbing test!  self is #<C:0x353854>.

1.2 解绑与重新绑定方法

可以将方法从其绑定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值