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
相关推荐
17715574316 天前
Mac 上 Ruby、gem、rvm、CocoaPods 四者关系通俗讲清楚
macos·ruby·cocoapods
霸道流氓气质12 天前
Kiro 中配置 RabbitMQ MCP Server 指南
分布式·rabbitmq·ruby
她说可以呀22 天前
RabbitMQ Publisher_Confirms(发布确认)
分布式·rabbitmq·ruby
淡然的煎蛋1 个月前
开始使用RabbitMQ
分布式·rabbitmq·ruby
风吹夏回2 个月前
RabbitMQ 三种模式入门:HelloWorld、WorkQueue、PubSub
分布式·rabbitmq·ruby
cheems95272 个月前
[RabbitMQ高级特性] 消息确认机制:从 Ready / Unacked 到 basicAck、basicReject、basicNack 的底层拆解
分布式·rabbitmq·ruby
极创信息2 个月前
信创产品适配测试认证,域名和SSL是必须的吗?
java·开发语言·网络·python·网络协议·ruby·ssl
zzz_23682 个月前
【RabbitMQ】面试系列 · 第四期:性能调优与插件生态
面试·rabbitmq·ruby·java-rabbitmq
phltxy2 个月前
RabbitMQ集群搭——多机多节点与单机多节点
分布式·rabbitmq·ruby
qiuyepiaoling2 个月前
rabbitmq 基础
分布式·rabbitmq·ruby