Ruby中的nil?,empty?与Rails中的blank?,present?
2017-06-22 15:31
375 查看
A concise explanation of nil v. empty v. blank in Ruby on Rails
String length == 0
Array length == 0
Hash length == 0
在nil对象上调用
对于只包含空格的字符串,
Rails同样提供了
注意,就算数组中的元素都为blank时,对数组调用
.nil?可以用在一切对象上,当对象为nil时,返回true
.empty?可以用于字符串,数组或者哈希,当满足下列条件时,返回true
String length == 0
Array length == 0
Hash length == 0
在nil对象上调用
.empty?会抛出
NoMethodError异常。
.blank?就是为此而生的。这个方法是Rails实现的,类似于
.empty?可以作用于字符串,数组或者哈希,
.blank?可以作用于认为对象。
nil.blank? == true false.blank? == true [].blank? == true {}.blank? == true "".blank? == true 5.blank? == false 0.blank? == false
对于只包含空格的字符串,
.blank?的返回同样为true
" ".blank? == true " ".empty? == false
Rails同样提供了
.present?方法,其返回值与
.blank?相反。
注意,就算数组中的元素都为blank时,对数组调用
.blank?仍然会返回false。对于这种情况时,使用
.all?配合
.blank?,如下例:
[ nil, '' ].blank? == false [ nil, '' ].all? &:blank? == true
相关文章推荐
- .nil? .empty? .blank? .present? in Ruby on Rails
- .nil? .empty? .blank? .present? in Ruby on Rails
- RAILS关于 NIL? PRESENT? EMPTY? ANY? BLANK?
- Rails :.nil? , .empty?, .blank? .present? 的区别
- 理解RoR(Ruby on Rails)中 nil? empty? blank?方法的区别
- Ruby的.nil? .empty? .blank? .present?差别
- Rails中nil? empty? blank? present?的区别
- ruby : nil?, empty? and blank?的选择
- ruby中nil?, empty? and blank?
- ruby中nil?, empty? and blank?的选择
- Rails -- empty、nil、blank三者之间的区别
- ruby -- 基础学习(五)empty、nil、blank三者之间的区别
- Ruby的.nil? .empty? .blank? .present?区别
- 【转】ruby中nil?, empty? and blank?的选择
- how to remove nil and blank string in an array in Ruby
- rails nil blank
- Ruby on Rails案例学习:ChangingThePresent.org
- nil? blank? empty? 的区别
- .nil? , .empty?, .blank? .present? 的区别
- Ruby on Rails 入门之:(1) Ruby, Rails, gem, bundler相关软件的安装