ホーム DoRuby empty?とblank?の違いって?

empty?とblank?の違いって?

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

今回は、Ruby on Railsのメソッドについてお話します。

よく、if文で、

中身がなければ、 

こんな処理をしましょう、という 条件式を書くことがありますね。

そのときに、

empty?と書く人(場合)と、

blank?と書く人(場合)がいました。

どう違うのか?

というわけで

手元にある たのしいRuby で調べてみます。

empty?は、文字の長さが0かどうかを調べるメソッド。

しかし、blank?はどこを探しても載っていない。

なぜだ????

よく出てくるメソッドなのに。理由の前に、blank?との違いを書いておきます。

blank?は、

「文字の長さ0」 または 「nil」 ならば true を返すメソッドです。

もしempty?を使用した場合に、

空文字ではなくnilだと、エラーになってしまうので、 

 blank?を使うと良いわけです。

さて、答えですが。

blank?は、Rubyではなく、Railsのメソッドだったんですヨ。

毎日Railsのプログラムに埋もれていると、

そのメソッドが、Ruby発祥のものか、Rails発祥のものかが

分らなくなってきますし、

あまり意識してませんでした。

が、blank?は、Railsのおかげだったと

知りました。

Railsサマ、気づかなくてすみませんでした。。。という

気持ちになってみたり。

これからも、ちょっと意識して

使い分けしてみたいと思います。

記事を共有
モバイルバージョンを終了