Ruby的.nil?.empty?.blank?.present?區(qū)別

.nil? , .empty? .blank? .present?區(qū)別:

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比溆浦網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式溆浦網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋溆浦地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。

  • .nil? 和 .empty? 是ruby的方法。 .blank? 是rails的方法。


  • .nil? 判斷對象是否存在(nil)。不存在的對象都是nil的。

  • .empty? 對象已經(jīng)存在,判斷是否為空字段,比如一個字符串是否為空串,或者一個數(shù)組中是否有值

  • .blank? 相當(dāng)于同時滿足 .nil? 和 .empty? 。railsAPI中的解釋是如果對象是:false, empty, 空白字符. 比如說: "", " ", nil , [], 和{}都算是blank。 (object.blank? 相當(dāng)于 object.nil?||object.empty?)。

  • present?方法就是blank?方法的相反,判斷是否存在,因此present?方法與!blank?方法兩者表達的意思是一樣的。



例:.nil?

nil.nil?       => true
false.nil?     => false
1.nil?         => false
0.nil?         => false
"".nil?        => false
[].nil?        => false

例:.empty?

"".empty?          => true
"abc".empty?       => false
[].empty?          => true
[1, 2, 3].empty?   => false
1.empty?           => NoMethodError  #說明 empty? 方法不能用于整數(shù)

例:.blank?

p true.blank?        FALSE
 p false.blank?      TRUE
 p "true".blank?     FALSE
 p "".blank?         TRUE
 p "\n".blank?       TRUE
 p '\n'.blank?       FALSE
 p 'true'.blank?     FALSE
 p ''.blank?         TRUE
 p 1.blank?          FALSE
 p [].blank?         TRUE
 p [1].blank?        FALSE

例:.present?

nil.present?       => false
[].present?        => false
"hello".present?   => true
["a"].present?     => true



部分參考自:http://www.myexception.cn/program/1049108.html


本文題目:Ruby的.nil?.empty?.blank?.present?區(qū)別
轉(zhuǎn)載來源:http://bm7419.com/article8/iihhop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、全網(wǎng)營銷推廣、、商城網(wǎng)站、靜態(tài)網(wǎng)站、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司