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
相关推荐
weifexie13 小时前
ruby超高级语法
开发语言·后端·ruby
ChinaRainbowSea1 天前
9. RabbitMQ 消息队列幂等性,优先级队列,惰性队列的详细说明
java·javascript·分布式·后端·rabbitmq·ruby·java-rabbitmq
ChinaRainbowSea2 天前
5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
java·分布式·后端·rabbitmq·ruby·java-rabbitmq
马达加斯加D3 天前
MessageQueue --- RabbitMQ可靠传输
分布式·rabbitmq·ruby
程序员 小柴5 天前
RabbitMQ的工作模式
分布式·rabbitmq·ruby
千层冷面6 天前
RabbitMQ 发送者确认机制详解
分布式·rabbitmq·ruby
ChinaRainbowSea6 天前
3. RabbitMQ 的(Hello World) 和 RabbitMQ 的(Work Queues)工作队列
java·分布式·后端·rabbitmq·ruby·java-rabbitmq
awei09168 天前
Linux系统安装RabbitMQ
linux·运维·rabbitmq·ruby
你住过的屋檐11 天前
【RabbitMQ】Linux上安装RabbitMQ详细步骤
linux·rabbitmq·ruby
不爱原创的Yoga19 天前
【中间件】Rabbit离线部署操作
开发语言·中间件·ruby