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
相关推荐
T***16071 天前
ConfigMap:解耦应用配置的利器
hdfs·ruby·express
q***75182 天前
RabbitMQ 客户端 连接、发送、接收处理消息
分布式·rabbitmq·ruby
q***23573 天前
RabbitMQ介绍以及基本使用
qt·rabbitmq·ruby
Franciz小测测3 天前
Python连接RabbitMQ三大方案全解析
开发语言·后端·ruby
百***48073 天前
RabbitMQ 客户端 连接、发送、接收处理消息
分布式·rabbitmq·ruby
百***58844 天前
MacOS升级ruby版本
开发语言·macos·ruby
列星随旋4 天前
初识RabbitMQ
分布式·rabbitmq·ruby
q***13344 天前
RabbitMQ 的介绍与使用
分布式·rabbitmq·ruby
g***86695 天前
RabbitMQ之交换机
分布式·rabbitmq·ruby
e***28296 天前
RabbitMQ 客户端 连接、发送、接收处理消息
分布式·rabbitmq·ruby