![]() |
Checking if a variable is not nil and not zero in ruby - Printable Version +- 0Day Forums (https://0day.red) +-- Forum: Coding (https://0day.red/Forum-Coding) +--- Forum: Ruby (https://0day.red/Forum-Ruby) +--- Thread: Checking if a variable is not nil and not zero in ruby (/Thread-Checking-if-a-variable-is-not-nil-and-not-zero-in-ruby) Pages:
1
2
|
Checking if a variable is not nil and not zero in ruby - regardance959219 - 07-18-2023 I am using the following code to check if a variable is not nil and not zero if(discount != nil && discount != 0) ... end Is there a better way to do this? RE: Checking if a variable is not nil and not zero in ruby - clemmieipqdf - 07-18-2023 You could initialize discount to 0 as long as your code is guaranteed not to try and use it before it is initialized. That would remove one check I suppose, I can't think of anything else. RE: Checking if a variable is not nil and not zero in ruby - plausibleness289598 - 07-18-2023 You could do this: if (!discount.nil? && !discount.zero?) The order is important here, because if `discount` is `nil`, then it will not have a `zero?` method. Ruby's short-circuit evaluation should prevent it from trying to evaluate `discount.zero?`, however, if `discount` is `nil`. RE: Checking if a variable is not nil and not zero in ruby - Drlacker1 - 07-18-2023 <pre><code> unless [nil, 0].include?(discount) # ... end <code></pre> RE: Checking if a variable is not nil and not zero in ruby - marcin - 07-18-2023 class Object def nil_zero? self.nil? || self == 0 end end # which lets you do nil.nil_zero? # returns true 0.nil_zero? # returns true 1.nil_zero? # returns false "a".nil_zero? # returns false unless discount.nil_zero? # do stuff... end Beware of the usual disclaimers... great power/responsibility, monkey patching leading to the dark side etc. RE: Checking if a variable is not nil and not zero in ruby - strewage158668 - 07-18-2023 if (discount||0) != 0 #... end RE: Checking if a variable is not nil and not zero in ruby - raff210 - 07-18-2023 I believe the following is good enough for ruby code. I don't think I could write a unit test that shows any difference between this and the original. if discount != 0 end RE: Checking if a variable is not nil and not zero in ruby - flaunt80432 - 07-18-2023 if discount and discount != 0 .. end update, it will `false` for `discount = false` RE: Checking if a variable is not nil and not zero in ruby - vegetation177921 - 07-18-2023 <pre><code> unless discount.nil? || discount == 0 # ... end <code></pre> RE: Checking if a variable is not nil and not zero in ruby - orthosite900631 - 07-18-2023 You can convert your empty row to integer value and check zero?. "".to_i.zero? => true nil.to_i.zero? => true |