亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

RubyonRails中“零”、“空白”的簡明解釋

RubyonRails中“零”、“空白”的簡明解釋

慕蓋茨4494581 2019-07-01 10:55:54
RubyonRails中“零”、“空白”的簡明解釋我發現自己反復尋找一個清晰的定義的區別nil?, blank?,和empty?在RubyonRails中。這是我來的最近的地方:blank?對象是false、空或空格字符串。例如,"", " ", nil, [],和{}都是空白。nil?對象是NilClass的實例。empty?對象是特定于類的,定義因類而異.如果字符串沒有字符,則為空;如果數組不包含項,則為空。有沒有什么遺漏的東西,或者可以進行更緊密的比較?
查看完整描述

3 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

.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? == false

Rails還提供 .present?,它返回.blank?.

數組抓到:blank?會回來false即使所有元素數組是空白的。若要確定這種情況下的空白,請使用all?帶著blank?,例如:

[ nil, '' ].blank? == false[ nil, '' ].all? &:blank? == true


查看完整回答
反對 回復 2019-07-01
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

我用所有的案例制作了這個有用的表格:


blank?present?由Rails提供。


查看完整回答
反對 回復 2019-07-01
  • 3 回答
  • 0 關注
  • 560 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號