ruby -- 基础学习(五)empty、nil、blank三者之间的区别
生活随笔
收集整理的這篇文章主要介紹了
ruby -- 基础学习(五)empty、nil、blank三者之间的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這三個方法在ROR中經常用到,都是用來判斷是否為空的。
區別是:
ruby的方法:.nil?、.empty?
rails的方法 :.blank?
用法的區別:
.nil? : 判斷對象是否存在。
.empty? : 是對象已經存在,判斷是否為空字段。
.blank? : 相當于同時滿足 .nil? 和 .empty? 。
注: Rails API中的解釋是如果對象是:false, empty, 空白字符都是blank。
比如說: "", " ",nil, [], 和{}都算是blank。
也就是說,object.blank? 相當于 object.nil? || object.empty?
.nil? 和 empty? 的簡單例子
1 nil.nil? 2 => true 3 4 false.nil? 5 => false 6 7 1.nil? 8 => false 9 10 0.nil? 11 => false 12 13 "".nil? 14 => false 15 16 [].nil? 17 => false 18 19 "".empty? 20 => true 21 22 "abc".empty? 23 => false 24 25 [].empty? 26 => true 27 28 [1, 2, 3].empty? 29 => false
注 : .empty?不能用于整數
1 1.empty? 2 => NoMethodError #說明 empty? 方法不能用于整數
.blank?的簡單例子
1 true.blank? 2 => false 3 4 false.blank? 5 => true 6 7 "true".blank? 8 => false 9 10 "".blank? 11 => true 12 13 " ".blank? 14 => true 15 16 ' '.blank? 17 => false 18 19 'true'.blank? 20 => false 21 22 ''.blank? 23 => true 24 25 1.blank? 26 => false 27 28 [].blank? 29 => true 30 31 [1].blank? 32 => true
原文鏈接 :http://www.cnblogs.com/zhualike/archive/2009/11/27/1612215.html
總結
以上是生活随笔為你收集整理的ruby -- 基础学习(五)empty、nil、blank三者之间的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TCP的核心系列 — SACK和DSAC
- 下一篇: 《Go学习笔记 . 雨痕》类型