Ruby alias 语句
在 Ruby 中,可以使用 alias
语句来创建一个方法的别名,alias
的主要用途是定义方法的别名
该语句的语法如下:
alias new_name old_name
其中,new_name
是新方法的名称,old_name
是原始方法的名称。当你调用 new_name
时,实际上是调用了 old_name
,它们是相同的方法。
1. 定义方法别名
def helloputs "Hello, world!"
endalias greet hellohello # 输出 "Hello, world!"
greet # 输出 "Hello, world!"
在上述示例中,我们使用 alias
定义了一个方法别名 greet
,它与 hello
方法的行为完全相同。
2. 修改方法名
def old_nameputs "Old name"
endalias new_name old_namedef old_nameputs "This is the old name"
endnew_name # 输出 "This is the old name"
old_name # 输出 "This is the old name"
在上述示例中,我们首先定义了一个方法 old_name
,然后使用 alias
定义了一个别名 new_name
,此时 new_name
和 old_name
的行为是相同的。接着我们又重新定义了 old_name
,这时 new_name
和 old_name
的行为都被修改了。
3. 定义类方法别名
class MyClassdef self.my_methodputs "Hello, world!"endclass << selfalias my_alias my_methodend
endMyClass.my_method # 输出 "Hello, world!"
MyClass.my_alias # 输出 "Hello, world!"
在上述示例中,我们使用了元类语法定义了一个类方法 my_method
,然后使用 alias
定义了一个类方法别名 my_alias
。这里需要注意,使用 alias
定义别名时,应该在元类中使用,因为类方法本质上是元类中的实例方法。
4. 定义别名时传入参数
def hello(name)puts "Hello, #{name}!"
endalias hi hellohello("Alice") # 输出 "Hello, Alice!"
hi("Bob") # 输出 "Hello, Bob!"
在上述示例中,我们定义了一个带参数的方法 hello
,然后使用 alias
定义了一个别名 hi
,调用 hi
时传入参数会被自动传递给 hello
方法。
Ruby alias 语句相关推荐
- 有趣的Ruby-学习笔记3
Ruby方法 方法名要以小写字母开头.假设用大写字母开头会被作为常量 (这点非常奇怪) 定义一个无參的方法 def method_name expr.. end 定义一个有參的方法 def metho ...
- 如何在Ruby中编写switch语句
如何在Ruby中编写switch语句? #1楼 案例...当 在Chuck的答案中添加更多示例: 带参数: case a when 1puts "Single value" whe ...
- html菜鸟ruby,Ruby 循环
Ruby 循环 Ruby 中的循环用于执行相同的代码块若干次.本章节将详细介绍 Ruby 支持的所有循环语句. Ruby while 语句 语法 whileconditional[do]codeend ...
- Programming Ruby学习笔记一
最近在学习Programming Ruby,做点读书笔记来记录下自己的成长也是不错的.当然更希望的是各位大牛能指出本人的不足,在这里先谢谢大家了. 第一章 入门 讲的是如何安装Ruby,在Ru ...
- Linux命令篇之history命令和alias命令
history历史命令使用方法详解 1.使用HISTTIMEFORMAT在历史中显示TIMESTAMP 通常情况下,当你在命令行中键入history时,终端中将显示你刚输入的命令及其编号.如果出于审查 ...
- 使用alias简化命令输入
alias 是 shell 的内部命令, 用来为较长的命令提供别名. 格式如下 alias 别名="很长的命令" 把这样的 alias 语句写入 ~/.bashrc 中即可方便使用 ...
- 使用alias制作实用 ~/.bashrc
1. 使用alias简化 在 ~/.bashrc 文档最后加入: alias cls="clear" alias srcrc="source ~/.bashrc" ...
- Ruby语言基础学习六:Ruby模块、引用其他程序、Mixins
新建一个trig.rb程序并写入: #-*-coding:UTF-8 -*-#Ruby模块Module # 模块提供了一个命名空间和避免名字冲突.模块实现了 mixin 装置. module Trig ...
- linux history存放位置,Linux中history历史命令使用方法详解
当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效率获得极大提升.事实上,一旦你掌握了我在下面给出的15个有关Linux history历史命令 ...
最新文章
- PHP关于curl_setopt几个参数设置的说明
- 思科安全:加密流量威胁检测、加密流量威胁和恶意软件检测、识别无线干扰或威胁、Talos 情报源可加强对已知和新型威胁的防御、分布式安全异常检测...
- alpha beta 滤波_不同Alpha-Beta滤波算法的精度分析及改进
- 图解JVM垃圾回收算法
- 多线程—Lock、Condition、ReentrantLock、ReentrantReadWriteLock
- 企鹅java游戏下载安装_企鹅企鹅生活安卓版游戏下载|企鹅企鹅生活手游下载v1.6.1-乐游网安卓下载...
- python里删除range里的数字_python中range函数与列表中删除元素
- 深度学习(十五)基于级联卷积神经网络的人脸特征点定位
- 为什么跨境电商独立站将成为几年的焦点?
- 美国特勤局发布十大网络通缉犯名单
- cisco ios cookbook
- python自动化办公都能做什么-用python进行办公自动化都需要学习什么知识呢?
- mariadb启动时报错Job for mariadb.service failed because the control process exited with error code....
- Qt编写onvif搜索和云台控制工具源码
- 联想启天m430安装黑苹果 10500 big sur 11.6
- RESTfull API简单项目的快速搭建
- U盘转换NTFS格式
- Android 小工具--圆形图片
- 大数据分析R中泊松回归模型实例
- 推荐40个互联网知名博客
热门文章
- spssχ2检验_一致性检验和配对卡方检验的SPSS实例操作图文详解
- 4G模块 EC20 R2.0 USB Serial/GobiNet/QMI WWAN 驱动移植过程
- 用Inkscape绘制logo教程
- Dmail—基于Web3的首个NFT邮件应用
- Java实现的手机号码屏蔽功能
- 浅谈elasticsearch的分词原理
- 国外hash(MD5、NTLM、LM、SHA)密码在线破解网站
- 统计整理——frequency函数与直方图工具的使用
- bzoj 乱刷计划 50/50
- 项目打包打的是什么包_晚安打工人是什么梗?晚安打工人表情包图片分享[多图]-大陆新闻...