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方法类似。