RubyonRails中“零”、“空白”的简明解释

RubyonRails中“零”、“空白”的简明解释

我发现自己反复寻找一个清晰的定义的区别nil?blank?,和empty?在RubyonRails中。这是我来的最近的地方:

  • blank?对象是false、空或空格字符串。例如,""" "nil[],和{}都是空白。

  • nil?对象是NilClass的实例。

  • empty?对象是特定于类的,定义因类而异.如果字符串没有字符,则为空;如果数组不包含项,则为空。

有没有什么遗漏的东西,或者可以进行更紧密的比较?


慕盖茨4494581
浏览 530回答 3
3回答

陪伴而非守候

.nil?可以在任何对象上使用,如果对象为零,则为true。.empty?可以用于字符串、数组和散列,并在下列情况下返回true:字符串长度=0数组长度=0散列长度=0跑动.empty?如果是零的话,就会抛出一个NoMethodError.那就是.blank?进来。它是由Rails实现将对任何对象进行操作,以及像.empty?在字符串、数组和散列上。nil.blank? == truefalse.blank? == true[].blank? == true{}.blank? == true"".blank? == true5.blank? == false0.blank? == false.blank?此外,对于非空但仅包含空格的字符串,计算值为true:"  ".blank? == true"  ".empty? == falseRails还提供 .present?,它返回.blank?.数组抓到:blank?会回来false即使所有元素数组是空白的。若要确定这种情况下的空白,请使用all?带着blank?,例如:[ nil, '' ].blank? == false[ nil, '' ].all? &:blank? == true

慕村9548890

我用所有的案例制作了这个有用的表格:blank?, present?由Rails提供。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Ruby