empty!和empty?方法
Ruby的方法名可以用感嘆號(爆炸方法)或者問號(斷言方法)結(jié)尾。爆炸方法通常會對接收者造成破壞,斷言方法則根據(jù)某些條件返回ture或false。
a||b
a||b表達式會對a進行求值。如果a的結(jié)果不是false或nil。那么求值就些結(jié)束,返回a的值;否則,該語句會返回b的值。這種方式通常用于表達“如果某個值沒有被設(shè)置,則返回缺省值”。
a||=b
賦值語句支持一組簡寫方式:a op =b就等價于a = a op b。對于大部分操作符,這樣的簡寫都有效。
count +=1
price *=discount
a||=b的意思就是:如果a沒有被設(shè)以別的值,就將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類的實例,回為接收到這次方法調(diào)用的是Employee。
相關(guān)資源:
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