闲云无衣
无衣的笔记

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

posted on 2007-02-08 17:40 无衣 阅读(505) 评论(0)  编辑  收藏 所属分类: rails