Rails :.nil? , .empty?, .blank? .present? 的区别

.nil? , .empty?, .blank? .present? 的区别

首先这三个都是判空的。 而 .nil? 和 .empty? 是ruby的方法。 .blank? 是rails的方法

.nil?       判断对象是否存在(nil)。不存在的对象都是nil的

.empty?  对象已经存在,判断是否为空字段,比如一个字符串是否为空串,或者一个数组中是否有值。有点像判断长度是否为零,呵呵

.blank?   相当于同时满足 .nil? 和 .empty? 。railsAPI中的解释是如果对象是:false, empty, 空白字符. 比如说: "", " ", nil, [], 和{}都算是blank。   (object.blank? 相当于 object.nil?||object.empty?)

.present ? (The opposite of Rails blank? is present?)

时间: 2024-08-06 14:35:06

Rails :.nil? , .empty?, .blank? .present? 的区别的相关文章

ruby nil? empty? blank? 的区别

ruby nil? empty? blank? 一句话区别: nil?与empty? 除了对象用nil?其他用empty?判断 ,blank?的用法几乎是前两者的结合体 nil?用于对象 object sky = nil sky.nil? # => true其他的对象的都为 object.nil? 都为false 如数据库的一个属性为空,则 属性.nil? # => true empty? 用于string 和 array 还有hash # Array [].empty? #=> tru

php empty()和isset()的区别

empty()和isset()都是变量处理函数,作用是判断变量是否已经配置,正是由于它们在处理变量过程中有很大的相似性,才导致对它们的关系认识不足.单从empty()和isset()这两个函数本身来考虑的话会把人弄得更糊涂, 换一个角度来它.empty()和isset()的处理对象无外乎未定义变量,0,空字符串. 如果变量为0,则empty()会返回TRUE,isset()会返回TRUE: 如果变量为空字符串,则empty()会返回TRUE,isset()会返回TRUE: 如果变量未定义,则em

php学习之道:php empty()和isset()的区别

在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再. 顾名思义,empty() 判断一个变量是否为"空",isset() 判断一个变量是否已经设置.正是这种所谓的"顾名思义",令我开始时走了些弯路:当一个变量值等于0时,empty()也会成立(True),因而会发生一些意外.原来,empty() 和 isset(

php empty 和空字符串区别

php empty 和空字符串区别 如果 var 是非空或非零的值,则 empty() 返回 FALSE.换句话说,"".0."0".NULL.FALSE.array().var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE. 除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词. PHP中有很多函数功能类似,却有着细微的差别...is_null, empty, isset, uns

empty 和 isset的区别和联系

empty 和 isset的区别和联系 要说它们的联系,其共同点就是empty()和isset()都是变量处理函数,作用是判断变量是否已经配置,正是由于它们在处理变量过程中有很大的相似性,才导致对它们的关系认识不足.单从empty()和isset()这两个函数本身来考虑的话会把人弄得更糊涂,换一个角度来它.empty()和isset()的处理对象无外乎未定义变量,0,空字符串.如果变量为0,则empty()会返回TRUE,isset()会返回TRUE: 如果变量为空字符串,则empty()会返回

String.Empty,NULL和""的区别

String.Empty,NULL和""的区别 string.Empty就相当于"" 一般用于字符串的初始化 比如: string a; Console.WriteLine(a);//这里会报错,因为没有初始化a 而下面不会报错: string a=string.Empty; Console.WriteLine(a); 或者用于比较: if(a=="") if(a==string.Empty) 上面两句是一样的效果. string.Empty不分

rails中render 和 redirect_to的区别, each只能用在数组中,如果只有一个或者零个项,用each方法会报错undefined method `each' for #...

在render中,即使有:action,那么也仅仅是取对应的view中的模板(html.erb)而已,所以这里即使浏览器中的url是/orders/xcreate,但是显示的界面是/app/views/orders/xshow的代码 def xcreate flash.now[:notice] = "bb" @order = Order.new(params[:order]) if @order.save flash[:notice] = "yes" render(

jQuery源码之 empty与html('')的区别

empty: function() { var elem, i = 0; for ( ; (elem = this[i]) != null; i++ ) { // Remove element nodes and prevent memory leaks if ( elem.nodeType === 1 ) { //循环清除Data数据 jQuery.cleanData( getAll( elem, false ) ); } // 移除child while ( elem.firstChild

【转】ruby中nil?, empty? and blank?的选择

In Ruby, you check with nil? if an object is nil:article = nil article.nil? # => true empty? checks if an element - like a string or an array f.e. - is empty: # Array [].empty? #=> true # String "".empty? #=> true Rails adds the method