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 高级特性——消息分发
分布式·rabbitmq·ruby
qq_203769491 天前
win11安装最新rabbitmq
分布式·rabbitmq·ruby
hh真是个慢性子3 天前
centos 6 yum安装 rabbitmq
centos·rabbitmq·ruby·yum·centos6
梦中千秋3 天前
相关衍生 pika+mongo
开发语言·后端·ruby
戴国进5 天前
详解RabbitMQ三种队列类型
分布式·rabbitmq·ruby
leluckys7 天前
Mac开发环境配置- Shell/Homebrew/ruby
macos·ruby
nVisual7 天前
Windows部署rabbitmq
windows·erlang·ruby
CLCNboss9 天前
Mac安装Ruby
开发语言·经验分享·笔记·macos·ruby
Elastic 中国社区官方博客10 天前
如何在 Elasticsearch Ruby 客户端中使用 ES|QL Helper
大数据·elasticsearch·搜索引擎·全文检索·ruby
不能再留遗憾了11 天前
RabbitMQ 高级特性——事务
分布式·rabbitmq·ruby