经常看到这样的代码
if x % 2 == 0 ...
显然 Fixnum#even?
是更好的选择
if x.even? ...
当然,判断一个数是否是奇数的时候可以用Fixnum#odd?
也常看到这样的
if x > 0 && x < 7
这样没有什么错误,但个人觉得between?
会更好一些,显得更面向对象一些
if x.between?(1..6)
也可用使用区间来用作排除
if x > 0 && x < 1000 ...
#is the same as
if (1...1000).include?(x) ...
用这种谓词的方法有些小细节需要注意: 比如
if arr = [] ...
不能用if arr.empty?
代替
因为 arr 可能是 nil,所以得
if !arr.nil? && arr.empty?
当然判断 nil 最好的方法还是
if something ...