ruby send call 的简单使用

refer: ruby on rails - What does .call do? - Stack Overflow

Ruby使用call 可以调用方法或者proc

复制代码
m = 12.method("+")
# => `method` gets the `+` method defined in the `Fixnum` instance
# m.class 
# => Method

m.call(3)    #=> 15
# `3` is passed inside the `+` method as argument 
m.call(20)   #=> 32

send方法也可以调用方法,在本地写一个测试:

复制代码
def say_hi

  puts "hihi"

end

def say_goodbye

  puts "goodbye"

end

# 使用send方式调用方法

name = "say_hi"

send(name)

m = 12.method("+")

# => `method` gets the `+` method defined in the `Fixnum` instance

# m.class

# => Method

m.call(3)    #=> 15

puts m.call(3)

# `3` is passed inside the `+` method as argument

m.call(20)   #=> 32

puts m.call(20)

运行:ruby hi.rb

得到输出:

复制代码
hihi

15

32
相关推荐
zzz_23684 天前
【RabbitMQ】面试系列 · 第四期:性能调优与插件生态
面试·rabbitmq·ruby·java-rabbitmq
phltxy12 天前
RabbitMQ集群搭——多机多节点与单机多节点
分布式·rabbitmq·ruby
qiuyepiaoling14 天前
rabbitmq 基础
分布式·rabbitmq·ruby
phltxy15 天前
RabbitMQ TTL与死信队列详解
分布式·rabbitmq·ruby
phltxy16 天前
RabbitMQ 发送方确认与重试机制
分布式·rabbitmq·ruby
phltxy16 天前
RabbitMQ高级特性-消息确认与持久性博客
分布式·rabbitmq·ruby
HEADKON16 天前
匹妥布替尼捷帕力Pirtobrutinib对比伊布替尼治疗套细胞淋巴瘤的缓解率更优
ruby
过期动态18 天前
【RabbitMQ高级篇】生产者可靠性、MQ可靠性、消费者可靠性以及延迟队列的实现
java·数据结构·分布式·算法·rabbitmq·ruby
或与且与或非22 天前
rabbitmq选举集群搭建
分布式·rabbitmq·ruby
hhb_61825 天前
Ruby核心技术难点梳理与实战应用案例解析
服务器·前端·ruby