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

 更新时间:2015年01月06日 12:18:04   投稿:junjie  
这篇文章主要介绍了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方法类似。

相关文章

  • 详解Ruby中的代码块及其参数传递

    详解Ruby中的代码块及其参数传递

    block代码块基本上是开始学习Ruby后的第一个坎,接下来就带大家详解Ruby中的代码块及其参数传递,需要的朋友可以参考下
    2016-05-05
  • 一个简单的Ruby可逆加密解密类

    一个简单的Ruby可逆加密解密类

    这篇文章主要介绍了一个简单的Ruby可逆加密解密类,需要的朋友可以参考下
    2014-05-05
  • 在Ruby程序中连接数据库的详细教程

    在Ruby程序中连接数据库的详细教程

    这篇文章主要介绍了在Ruby程序中连接数据库的详细教程,包括介绍数据库支持Ruby的接口等,是学习Ruby on Rails的基础,需要的朋友可以参考下
    2015-04-04
  • win7安装ruby on rails开发环境

    win7安装ruby on rails开发环境

    看到很多文章都说ruby环境在windows上是非常难搭建,会出现各种各样的怪问题,所以都推荐到linux和mac上安装开发。但是我按照教程搭了下,问题也不算太多。总过大概花费了2个半小时左右就完成了。下面就把安装的步骤及具体的版本记录了一下供大家参考。
    2014-07-07
  • Ruby定义私有方法(private)的两种办法

    Ruby定义私有方法(private)的两种办法

    这篇文章主要介绍了Ruby定义私有方法(private)的两种办法,本文直接给出代码实例,需要的朋友可以参考下
    2015-05-05
  • ruby 迭代器使用方法

    ruby 迭代器使用方法

    ruby 迭代器使用方法...
    2007-11-11
  • Ruby和Shell脚本实现判断成绩及格功能

    Ruby和Shell脚本实现判断成绩及格功能

    这篇文章主要介绍了Ruby和Shell脚本实现判断成绩及格功能,使用Ruby实现这个功能非常简洁优雅,而Shell的实现就比较传统了,需要的朋友可以参考下
    2015-01-01
  • Ruby 多线程的潜力和弱点分析

    Ruby 多线程的潜力和弱点分析

    这篇文章主要介绍了Ruby 多线程的潜力和弱点分析,本文讲解了Ruby 多线程和 IO Block、Ruby GIL 的影响、JRuby 去除了 GIL、Ruby 多线程总结等内容,需要的朋友可以参考下
    2015-03-03
  • Ruby中关于hash的基本使用方法

    Ruby中关于hash的基本使用方法

    这篇文章主要介绍了Ruby中关于hash的基本使用方法,包括哈希的创建和一些内置方法的使用,需要的朋友可以参考下
    2015-05-05
  • ruby 正则表达式详解及示例代码

    ruby 正则表达式详解及示例代码

    这篇文章主要介绍了ruby 正则表达式详解及示例代码的相关资料,需要的朋友可以参考下
    2016-10-10

最新评论