Yak shaving logs


My life is just yak shaving.

rubyで0とnilをいっぺんに判定したい

2018/07/01 #ruby

By Yusuke Takita


こんにちは。Kajitz inc.の瀧田です。

railsのhelper blank?empty? を使えばいけそうな気がしたのですが、
うまく判定できなかったので少し頭を悩ませました。

[14] pry(main)> nil.blank?
=> true
[15] pry(main)> 0.blank?
=> false
[16] pry(main)> nil.empty?
NoMethodError: undefined method `empty?' for nil:NilClass
from (pry):16:in `<main>'
[17] pry(main)> 0.empty?
NoMethodError: undefined method `empty?' for 0:Integer
from (pry):17:in `<main>'

nil を数値に変換すると 0 になるという性質を利用して、
object.to_i.zero? とすれば判定できる事がわかりました。

[11] pry(main)> 0.to_i.zero?
=> true
[12] pry(main)> nil.to_i.zero?
=> true
[13] pry(main)> 1.to_i.zero?
=> false
このエントリーをはてなブックマークに追加

categories


最新記事


tags