可能性の重複:
A concise explanation of nil v. empty v. blank in Ruby on Rails.nil?、.blank?と空?
は、誰も私.nil?、?、.blank .emptyの違いを教えてもらえますか?ルビーで?
いずれの回答も高く評価されます。
可能性の重複:
A concise explanation of nil v. empty v. blank in Ruby on Rails.nil?、.blank?と空?
は、誰も私.nil?、?、.blank .emptyの違いを教えてもらえますか?ルビーで?
いずれの回答も高く評価されます。
Rubyではオブジェクト(クラスNilClass
の1つのインスタンス)内にnil
というメソッドがあるので、そのメソッドを呼び出すことができます。 nil?
は、すべてオブジェクトで呼び出すことができるRubyの標準メソッドであり、nil
オブジェクトの場合はtrue
、それ以外の場合はfalse
を返します。
empty?
は、の一部のオブジェクト(配列、ハッシュ、ストリングなど)の標準的なRubyメソッドです。その正確な動作は特定のオブジェクトに依存しますが、オブジェクトに要素が含まれていない場合は通常true
を返します。
blank?
は、標準的なRubyの方法ではなく、全てレール戻るnil
ためtrue
によってオブジェクト、false
、空、または空白文字列に追加されます。
empty?
は、すべてのオブジェクトのために定義されていないので、あなたがそうif x.nil? || x.empty?
Railsのようなものを書くことを避けるためにnil
にempty?
を呼び出した場合、あなたはNoMethodError
になるだろうblank?
メソッドを追加します。答えの後
、私はthis question has been asked beforeはそうあなたもその質問への回答を確認する必要があることを発見しました。
フィール;
NIL?
nil.nil?
#=> true
[].nil?
#=> false
"".nil?
#=> false
" ".nil?
#=> false
EMPTY?
[].empty?
#=> true
nil.empty?
#=> undefined method
"".empty?
#=> true
" ".empty?
#=> false
BLANK?
[].blank?
#=> true
nil.blank?
#=> true
"".blank?
#=> true
" ".blank?
#=> true
ルビ変数はすべてオブジェクトであるため、単位化/設定解除(nilに設定)することができます。それは
b = nil
b.nil? # true
b = 'string value'
b.nil? # false
アレイ、文字列を初期化されていない場合nil?
メソッドがtrueを返し、ルビーにデータを含まないことができますので、彼らは空にすることができますストリーム。そう
array = []
array.empty? # true
array << 5 << 4 # [5, 4]
array.empty? # false
string = "" # empty line
string.empty? # true
blank?
場合empty?
方法はtrueを返し(任意のオブジェクトで利用可能)activesupportの具体的な方法であり、activesupportのとRubyOnRailsで入手可能です。 objectがnilまたは空の場合はtrueを返します。
'空白?'ActiveSupportメソッドの場合 – fl00r
@ fl00rはい、そうです。私は答えを編集します – Ribtoks