ruby send call 的简单使用

news2024/12/23 18:21:47

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/857561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目管理:四步帮你轻松制定计划

当项目经理接手一个项目的时候,做一个项目的日程安排是必须的,因为这是决定项目是否成功完成的最重要任务之一。 项目经理制定项目计划的步骤: 1、确定目标 项目目标极为关键,只有目标想清楚了,才可能正常开展后期…

选择CRM系统时需要有哪些功能?

企业在选型时,众多的CRM品牌是否让您挑花了眼?CRM客户管理系统哪个好用? 1、功能强大 Zoho CRM提供了从销售、市场营销、客服到项目管理、人力资源、财务等全方位的CRM功能,可以满足不同行业和规模的企业的需求。可以提供销售自…

Python(七十四)集合的数学操作

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

产品管理经验分享:删掉 500 个产品待办事项后,我逃离了「假敏捷」

文章开始之前,我想先请大家思考几个问题: 你的产品待办列表中有多少项工作?其中最早的待办事项是什么时候创建的?你和 Scrum 团队多久会维护一次列表中那些从没进过迭代的「钉子户」事项? 我第一次问自己时&#xff0…

esp8266使用arduinoJson与tft_espi库发生冲突解决方法

esp8266使用arduinoJson与tft_espi库发生冲突解决方法 arduinoJson与tft_espi库发生冲突解决方法下载arduinoJson5.0版本的,不要用最新版本 示范代码: // Copyright Benoit Blanchon 2014 // MIT License // // Arduino JSON library // https://git…

AIGC创世计划设计视频课程

课程介绍 AIGC创世计划设计视频课程是一门专注于创意设计的课程。通过视频教学,学习者将了解到关于创意设计的理论知识和实践技巧,并能够运用这些知识和技巧进行创作。本课程涵盖了多个设计领域,包括平面设计、产品设计、UI/UX设计等。无论是…

C++,文本文件,写文件操作

代码演示&#xff1a; #include <iostream> using namespace std;//1、包含头文件 #include<fstream>void test() {//2、创建流对象ofstream ofs;//3、打开文件(默认源文件路径&#xff09;ofs.open("test.txt", ios::out);//4、写数据ofs << &qu…

Leetcode每日一题:1289. 下降路径最小和 II(2023.8.10 C++)

目录 1289. 下降路径最小和 II 题目描述&#xff1a; 实现代码与解析&#xff1a; 动态规划 原理思路&#xff1a; 1289. 下降路径最小和 II 题目描述&#xff1a; 给你一个 n x n 整数矩阵 grid &#xff0c;请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下降路…

【Linux取经路】基础开发工具——gdb篇

文章目录 一、背景知识介绍二、gdb常用指令 一、背景知识介绍 程序的发布方式有两种&#xff0c;Debug模式和release模式。Debug是开发者模式&#xff0c;而用户最终使用的是release。Debug模式下的代码&#xff0c;可以被追踪、调试&#xff0c;因为在Debug模式下形成的可执行…

浪潮数字咨询专家孙崇虎受邀为第十二届中国PMO大会演讲嘉宾

浪潮数字企业技术有限公司集团管控事业部咨询专家孙崇虎先生受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾&#xff0c;演讲议题&#xff1a;VUCA时代的项目管理信息化应对。大会将于8月12-13日在北京举办&#xff0c;敬请关注&#xff01; 议题简要&#xff1a; 当前…

LiveNVR监控流媒体Onvif/RTSP功能-如何配置默认用户账户及用户密码修改用户名

LiveNVR监控摄像头如何配置默认用户账户及用户密码修改用户名 1、默认用户名密码1.1、初次配置启动1.2、重新配置启动 2、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务 1、默认用户名密码 1.1、初次配置启动 在解压目录下的 livenvr.ini 里面添加如下配置&#xff0c;配置后再启动&a…

ios 知识

IOS 类文件.h和.m中interface的区别 大家都知道我们在创建类文件时会发现&#xff1a; #import <UIKit/UIKit.h>interface ViewController : UIViewControllerend和 #import "ViewController.h"interface ViewController ()end那么他们之间有何区别呢&#x…

C语言——水仙花数字

//水仙花数字 //每个数位上的数字的 3次幂之和等于它本身 //列如&#xff1a;1531^35^33^3 #include<stdio.h> int main() {int i,x,y,z;for(i100;i<1000;i){xi%10;yi/10%10;zi/100%10;if(i(x*x*xy*y*yz*z*z))printf("%d\n",i);}return 0; } //输出100-1000…

【HMS Core】支付失败报错60004

【关键字】 报错、60004、developerPayload、支付服务 【问题描述1】 集成应用内支付服务&#xff0c;发现部门用户支付失败报错60004 ​ 【问题分析】 根据官网错误码&#xff0c;是由于支付接口访问过频造成的 那么&#xff0c;这个异常是针对用户的单台设备访问频次过高…

vscode vue3+vite 配置eslint

vue2webpackeslint配置 目前主流项目都在使用vue3vite&#xff0c;因此针对eslint的配置做了一下总结。 引入ESlint、pritter 安装插件&#xff0c;执行以下命令 // eslint // prettier // eslint-plugin-vue // eslint-config-prettier // eslint-plugin-prettier yarn ad…

游戏行业实战案例 4 :在线时长分析

【面试题】某游戏数据后台设有「登录日志」和「登出日志」两张表。 「登录日志」记录各玩家的登录时间和登录时的角色等级。 「登出日志」记录各玩家的登出时间和登出时的角色等级。 其中&#xff0c;「角色id」字段唯一识别玩家。 游戏开服前两天&#xff08; 2022-08-13 至 …

使用自己的数据集预加载 Elasticsearch

作者&#xff1a;David Pilato 我最近在讨论论坛上收到一个问题&#xff0c;关于如何修改官方 Docker 镜像以提供一个现成的 Elasticsearch 集群&#xff0c;其中已经包含一些数据。 说实话&#xff0c;我不喜欢这个想法&#xff0c;因为你必须通过提 entrypoint.sh 的分叉版本…

九齐NY8BE62D软件开发

开启100us中断 void Time_Init(void) {DISI();//;Initial Timer0PCON1 C_TMR0_Dis; // Disable Timer0TMR0 100; // Load 0x00 to TMR0 (Initial Timer0 register)T0MD C_PS0_TMR0 | C_PS0_Div2; INTE C_INT_TMR0;PCON1 C_TMR0_En; // Enable Timer0ENI(); // Ena…

论文解读|快速可认证的点云配准

原创 | 文 BFT机器人 《TEASER: Fast and Certifiable Point Cloud Registration》是一篇由Yang et al. 在IEEE Transactions on Robotics杂志上发表的研究论文&#xff0c;于2021年4月出版。这篇论文提出了两种快速且可验证的点云配准算法&#xff1a;TEASER和TEASER&#xf…

院线电影票特惠购票系统--竞价分销模式开发

竞价分销模式是一种基于拍卖理论的销售模式&#xff0c;卖家设定一个底价&#xff0c;由买家进行竞价&#xff0c;最终以最高出价者的价格成交。这种模式在电影票销售中的应用可以有效地提高电影院的售票量和收益。在竞价分销模式中&#xff0c;需要开发一个高效的系统来支持这…