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历史命令 ...
最新文章
- 正面交锋!另类“竞赛”探索大脑的意识起源
- 开发日记-20190704 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 10
- CodePush使用调研
- android builder模式 插件,如何在Kotlin中实现Builder模式?
- 高科技护航“史上最严”高考
- COCI 2018/2019 CONTEST #2 Solution
- C语言课后习题(56)
- windows.old可以删除吗_C盘里的文件夹都有何用?可以删除吗?哪些可以删除?
- “OSPF” Router-ID
- java实现签名和解签
- 前端播放flv的视频
- python将doc文件转换docx
- 获取股票数据【使用JQData查询行情数据、财务指标、估值指标】
- 小虎电商浏览器:鹰智客服插件怎么下载?安装麻烦吗?
- 静态代码检查工具 cppcheck 的使用
- C#人民币大小写转换
- 「技术工具」阿里开源Java在线诊断工具 Arthas 进阶教程
- Flutter 实现虚线
- Media player控件基本使用步骤
- matlab怎么线性度,线性传感器分辨率和线性度怎么计算?
热门文章
- Update:实时后端云服务野狗获 2400 万 Pre-A 融资
- 阿里云HBase Ganos上线 助力时空大数据应用
- 关于低调的一些文章——最长的一篇
- HikariPool-1 - Shutdown initiated... HikariPool-1 - Shutdown completed.报错
- Ubuntu下的LGT8F328P MiniEVB Arduino开发和烧录环境
- MyBatis框架基于XML配置文件开发
- Word表格调整格式(更新中...)
- I9 9900K线程_AMD第三代锐龙处理器首发评测:i9已无力招架
- taro 自定义导航栏
- 深度剖析apache 2.4web服务器(史上最全)