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
相关推荐
kobe_OKOK_2 小时前
rabbitmq 入门知识点
分布式·rabbitmq·ruby
Baklib梅梅11 小时前
2025 年 8 个最佳网站内容管理系统(CMS)
前端·ruby on rails·前端框架·ruby
 嘘 1 天前
RabbitMQ
分布式·rabbitmq·ruby
工藤学编程3 天前
深入浅出 RabbitMQ-RabbitMQ消息确认机制(ACK)
分布式·rabbitmq·ruby
海洋的渔夫4 天前
1-ruby介绍、环境搭建、运行 hello world 程序
开发语言·后端·ruby
曾经的三心草6 天前
微服务的编程测评系统18-判题功能-Rabbitmq-用户拉黑
微服务·rabbitmq·ruby
江东大都督周总10 天前
rabbitmq集群
javascript·rabbitmq·ruby
Hello.Reader12 天前
在 Ruby 客户端里用 ES|QL
elasticsearch·jenkins·ruby
探码科技16 天前
AI知识管理软件推荐:九大解决方案与企业应用
前端·ruby
Gavin_91516 天前
从零开始部署经典开源项目管理系统最新版redmine6-Linux Debian12
linux·ruby on rails·开源·debian·ruby·redmine