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
相关推荐
或与且与或非1 天前
rabbitmq选举集群搭建
分布式·rabbitmq·ruby
hhb_6184 天前
Ruby核心技术难点梳理与实战应用案例解析
服务器·前端·ruby
heimeiyingwang4 天前
【架构实战】RabbitMQ实战:企业级消息可靠传递
架构·rabbitmq·ruby
qq_297574676 天前
第十三篇:RabbitMQ限流与熔断——保护系统稳定性
分布式·rabbitmq·ruby
qq_297574677 天前
第十四篇:RabbitMQ监控与日志分析——快速排查线上问题
分布式·rabbitmq·ruby
阿萨德528号7 天前
Windows RabbitMQ 启动完整指南(附启动报错解决、如何以服务方式后台运行)
windows·rabbitmq·ruby
StackNoOverflow7 天前
RabbitMQ 入门详解(含安装 + 配置 + 管理后台)
开发语言·后端·ruby
逆境不可逃11 天前
黑马 RabbitMq 基础篇 学习记录
学习·rabbitmq·ruby
星梦清河13 天前
微服务-MQ高级
微服务·架构·ruby