在Ruby语言中定义方法名常用的是一下模式

def method_name(arg1,arg2)
    #some code
end

但是经常在书籍或者其它作者的代码中看到以 = ? ! 这三个特殊怪异的符号作为方法名的后缀,下面解释下这

 "?"   被用于标示谓词,即返回Boolean值的方法,如Array.empty?(判断数组中元素是否为空)。

 

 “!”   出现在方法名尾部的感叹号表明使用该方法是需要多加小心。许多Ruby的核心类都定义了成对的方法,它们具有同样的名称,只是结尾相差一个“!”,通常情况下,不带感叹号的方法返

调用该方法的一个拷贝,二带感叹号的方法则是一个可变方法,该方法会修改原来的对象,如Array类中的sort和sort!

 

 "="  当你想要设置某个属性的值时,对这些变量直接复制符合大家的常规理解,Ruby中可以创建一个以等号结尾的方法达到这一目标。

 posted on 2012-06-03 20:51  Shadow.R  阅读(1261)  评论(1编辑  收藏  举报