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
相关推荐
工藤学编程4 天前
深入浅出 RabbitMQ - 主题模式(Topic)
分布式·rabbitmq·ruby
ChinaRainbowSea4 天前
Windows 安装 RabbitMQ 消息队列超详细步骤(附加详细操作截屏)
java·服务器·windows·后端·rabbitmq·ruby
一勺菠萝丶5 天前
RabbitMQ削峰填谷详解:让系统在流量洪峰中“稳如泰山”
分布式·rabbitmq·ruby
工藤学编程5 天前
深入浅出 RabbitMQ-路由模式详解
分布式·rabbitmq·ruby
工藤学编程5 天前
深入浅出 RabbitMQ-交换机详解与发布订阅模型实战
分布式·rabbitmq·ruby
瓜子三百克6 天前
Mac中M系列芯片采用rbenv管理ruby版本
macos·ruby·rbenv
工藤学编程6 天前
深入浅出 RabbitMQ:简单队列实战指南
分布式·rabbitmq·ruby
首席令狐冲10 天前
RabbitMQ安装与介绍
分布式·rabbitmq·ruby