WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

empty?とblank?の違い

      2015/05/31

empty?とblank?の違い

下記のとおり。

  • empty?は文字の長さが0のときにtrue
  • blank?は文字の長さが0もしくはnilのときにtrue

nilをemptyで判定するとエラーが出る。
つまり、

if hoge.nil? || hoge.empty?

と、

if hoge.blank?

は同義。

あと、empty?とnil?はRubyに組み込まれているものだが、blank?はRailsのメソッドである。

※追記

空白だけが含まれる文字列はblank?ではfalseと判定される。

"     ".blank?
 => false

なお、present?はblank?の反対の動作をする。

 - Ruby on Rails ,