Checking if a variable is not nil and not zero in ruby

前端 未结 18 1729
臣服心动
臣服心动 2020-12-22 15:38

I am using the following code to check if a variable is not nil and not zero

if(discount != nil && discount != 0) 
  ...
end

Is the

18条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-22 16:31

    Alternative solution is to use Refinements, like so:

    module Nothingness
      refine Numeric do
        alias_method :nothing?, :zero?
      end
    
      refine NilClass do
        alias_method :nothing?, :nil?
      end
    end
    
    using Nothingness
    
    if discount.nothing?
      # do something
    end
    

提交回复
热议问题