empty!和empty?方法
Ruby的方法名可以用感叹号(爆炸方法)或者问号(断言方法)结尾。爆炸方法通常会对接收者造成破坏,断言方法则根据某些条件返回ture或false。
a||b
a||b表达式会对a进行求值。如果a的结果不是false或nil。那么求值就些结束,返回a的值;否则,该语句会返回b的值。这种方式通常用于表达“如果某个值没有被设置,则返回缺省值”。
a||=b
赋值语句支持一组简写方式:a op =b就等价于a = a op b。对于大部分操作符,这样的简写都有效。
count +=1
price *=discount
a||=b的意思就是:如果a没有被设以别的值,就将b赋给它。
obj = self.new
class Person < ActiveRecord::Base
def self.for_dave
Person.new(:name =>Dave)
end
end
class Employee <Person
...
end
dave= Employee.for_dave
Employee.for_dave方法返回Person对象。如果改用self.new,方法就会返回Employee类的实例,回为接收到这次方法调用的是Employee。
相关资源:
http://www.glue.umd.edu/protect-billti/ruby.html
http://www.rubygarden.org/faq
http://en.wikipedia.org/wiki/Ruby_programming_language
http://www.zenspider.com/Languages/uby/QuickRef.html