Ruby创建“关键字”同名方法别名的方法
begin和end是ruby的关键字,但是Range中也有名称为begin和end的实例方法。现在问题来了:怎么创建它们的别名方法?
如果用classRange;aliasbegin_xbeginend是不行的,ruby以为后面一个begin是某个语法块的开头啊:
2.1.2:089>classRange;aliasbegin0beginend 2.1.2:090?>
用classRange;aliasbegin_x"begin"end也不行,用aliasbegin_x:begin还是不行!
2.1.2:083>classRange
2.1.2:084?> aliasbegin0:begin
2.1.2:085> end
2.1.2:086?> end
SyntaxError:(irb):86:syntaxerror,unexpectedkeyword_end,expectingend-of-input
from/Users/apple/.rvm/rubies/ruby-2.1.2/bin/irb:11:in`<main>'
2.1.2:087>classRange;aliasbegin0"begin"end
SyntaxError:(irb):87:syntaxerror,unexpectedtSTRING_BEG
classRange;aliasbegin0"begin"end
^
from/Users/apple/.rvm/rubies/ruby-2.1.2/bin/irb:11:in`<main>'
没法子了吗?我突然想到了这个语法:aliasbegin_x:"begin",这回哦鸟!同样的end方法类似。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下