欢迎来到代码驿站!

Ruby

当前位置:首页 > 脚本语言 > Ruby

Ruby创建“关键字”同名方法别名的方法

时间:2020-11-07 21:47:59|栏目:Ruby|点击:

begin和end是ruby的关键字,但是Range中也有名称为begin和end的实例方法。现在问题来了:怎么创建它们的别名方法?

如果用class Range;alias begin_x begin end是不行的,ruby以为后面一个begin是某个语法块的开头啊:

复制代码 代码如下:

2.1.2 :089 > class Range;alias begin0 begin end
2.1.2 :090?>  

用class Range;alias begin_x "begin" end也不行,用alias begin_x :begin还是不行!

复制代码 代码如下:

2.1.2 :083 > class Range
2.1.2 :084?>   alias begin0 :begin
2.1.2 :085 >       end
2.1.2 :086?>   end
SyntaxError: (irb):86: syntax error, unexpected keyword_end, expecting end-of-input
from /Users/apple/.rvm/rubies/ruby-2.1.2/bin/irb:11:in `<main>'
2.1.2 :087 > class Range;alias begin0 "begin" end
SyntaxError: (irb):87: syntax error, unexpected tSTRING_BEG
class Range;alias begin0 "begin" end
                          ^
from /Users/apple/.rvm/rubies/ruby-2.1.2/bin/irb:11:in `<main>'

没法子了吗?我突然想到了这个语法:alias begin_x :"begin",这回哦鸟!同样的end方法类似。

上一篇:艰难完成 nginx + puma 部署 rails 4的详细记录

栏    目:Ruby

下一篇:详细解析Ruby中的变量

本文标题:Ruby创建“关键字”同名方法别名的方法

本文地址:http://www.codeinn.net/misctech/20056.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有