Kendimi defalarca farklarının net bir tanım arayan bulmak nil?, blank?ve empty?Ruby on Rails. İşte en yakın geldiğim:
blank?nesneler yanlış, boş veya boşluk dizesidir. Örneğin,""," ",nil,[], ve{}boş.nil?nesneleri NilClass örneğidir.empty?nesneler sınıfa özeldir ve tanım sınıftan sınıfa değişir. Bir karakter içermiyorsa bir dize, öğe içermiyorsa bir dizi boştur.
Eksik bir şey veya yapılabilecek daha sıkı bir karşılaştırma var mı?
:nil?tanımlanır ::Kernelve üzerinde geçersiz ::NilClassiken, :empty?birçok sınıflara ayrı ayrı uygulanır (doğal olarak üzerine ::String, ::Array, ::Hash, ve non-doğal gibi diğer sınıflara ::Setstdlib gelen ve ::ActiveRecord::Relationraylar itibaren). Bu nedenle :nil?, kendi ::Objectsınıfını içeren ::Kernelve :empty?özellikle sınıflarınıza uygulanması gereken ya da dahil edilmesi gereken her sınıfın tüm alt sınıflarında mevcuttur.
nilkonsepti anlamaya çalışırsanız buradan başlayın .
[1] pry(main)> [].blank? => true



present?. Bunun nedeniblank?boş bir dizi için true değerini döndürmesidir.