Rails docsそれは、偽の空、または空白文字列かどうObject#blank?
Railsオブジェクト#空白?対String#空ですか?混乱
オブジェクトに対してこの情報は空白になっています。たとえば、 ""、 ""、nil、[]、および{}は空白です。
は、しかし、そのメソッドのソースは、このようなものです:
# File activesupport/lib/active_support/core_ext/object/blank.rb, line 12
def blank?
respond_to?(:empty?) ? empty? : !self
end
今、私は私の便利な小さなコマンドラインを開き、ruby -e 'p " ".empty?'
を入力すると、それはfalseを返します。つまり、明らかにそうでない場合、これは空白の値であるとRailsは言うべきです。しかし!私はrails console
を開き、私は" ".empty?
とタイプし、私の以前のまっすぐなコマンドラインのように偽を得る。しかし、私は ".blank"と入力します。 Railsが私に約束したように私は真実になります。
Railsのblank?
メソッドが文字列のempty?
メソッドでどのように機能するのか理解できません。
ああ、ありがとう! SOが私を許可するとすぐに、私はあなたの答えを答えとしてマークします。 – jxpx777