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
相关推荐
逆境不可逃2 天前
一篇速通RabbitMQ (从入门到生产实战:核心原理、高级特性与 Spring Boot 集成全解)
开发语言·后端·ruby
亿牛云爬虫专家5 天前
业务实战:基于 Ruby Mechanize 与隧道代理构建工业级数据采集器
ruby·爬虫代理·session·隧道代理·数据采集器·mechanize·dom 表单
xuefeiniao6 天前
使用宝塔安装RabbitMQ,启动不起来
分布式·rabbitmq·ruby
yaoyouzhong7 天前
RabbitMQ HAProxy 负载均衡
rabbitmq·负载均衡·ruby
gududexiao7 天前
RabbitMQ 的介绍与使用
分布式·rabbitmq·ruby
iOS妖狐小北7 天前
RabbitMQ之交换机
分布式·rabbitmq·ruby
weyyhdke7 天前
RabbitMQ 集群部署方案
分布式·rabbitmq·ruby
lzqk120007 天前
RabbitMQ 客户端 连接、发送、接收处理消息
分布式·rabbitmq·ruby
hINs IONN8 天前
RabbitMQ HAProxy 负载均衡
rabbitmq·负载均衡·ruby