Rails中nil? empty? blank? present?的区别
.nil?
Ruby方法
.nil?方法被放置在Object类中,可以被任何对象调用,如果是nil则返回true在Rails中只有nil对象才会返回
true
nil.nil? #=> true
anthing_else.nil? #=> false
a = nil
a.nil? #=> true
"".nil #=> true
.empty?
Ruby方法
如果对集合之外的对象调用
.empty?方法,则会抛出NoMethodError可以在字符串、数组、hash这几种集合中使用,且只有当集合长度(length)为0时才会返回
true
"".empty = true
" ".empty? = false
.blank?
Rails方法
与
.empty?的区别: 对于还有空格的字符串也会返回true,并且nil返回的结果也未true可以在任意对象上调用,不限制于集合对象
nil.blank? = true
[].blank? = true
{}.blank? = true
"".blank? = true
5.blank? == false
.present?
Rails方法
如果一个对象不是
blank,即会返回true内部实现其实是调用的
·blank?,如下代码:
# File activesupport/lib/active_support/core_ext/object/blank.rb, line 22
def present?
!blank?
ends
Rails中nil? empty? blank? present?的区别的更多相关文章
- Rails :.nil? , .empty?, .blank? .present? 的区别
.nil? , .empty?, .blank? .present? 的区别 首先这三个都是判空的. 而 .nil? 和 .empty? 是ruby的方法. .blank? 是rails的方法 .ni ...
- .nil? .empty? .blank? .present? in Ruby on Rails
We get confused when there are many options to choose from. Same is the case when it comes to use an ...
- ruby中nil?, empty? and blank?的选择
In Ruby, you check with nil? if an object is nil: article = nil article.nil? # => true empty? che ...
- 【转】ruby中nil?, empty? and blank?的选择
In Ruby, you check with nil? if an object is nil:article = nil article.nil? # => true empty? chec ...
- ruby中nil?, empty? and blank?
In Ruby, you check with nil? if an object is nil: article = nil article.nil? # => true empty? che ...
- el中保留字empty与null的区别
先看例子: <%@page pageEncoding="utf-8" %><BR>name:${param.name }<br /> empty ...
- 在ios开发中nil和NUll和Nilde区别————和如何判断连个对象的关系和UISlider不能拖动的问题
nil表示一个对象指针为空,针对对象 >示例代码: NSString *someString = nil; NSURL *someURL = nil; id someObject = nil; ...
- 说一说Jquery中的empty()与remove()的区别和用法
今天在改一个新人写的代码,好吧,我承认改代码比自己写代码要来的痛苦. 主要是在测试一个table.table中有一列是删除操作.我的删除功能是 这样的,当点击删除的时候,判断这个table中的tr行是 ...
- php中is_null,empty,isset,unset 的区别详细介绍
is_null, empty, isset, unset 我们先来看看这4个函数的描述. isset 判断变量是否已存在(配置)unset 把变量删除(释放)掉empty 判断变量是否为空is_nul ...
随机推荐
- 转 android Listview,gridview局部刷新,部分刷新 (仿QQ动态评论局部刷新)
转自:http://blog.csdn.net/jdsjlzx/article/details/45582719 众所周知Listview和Gridview的刷新界面的方式是调用adapter.not ...
- 百度之星初赛(A)——T1
小C的倍数问题 Problem Description 根据小学数学的知识,我们知道一个正整数x是3的倍数的条件是x每一位加起来的和是3的倍数.反之,如果一个数每一位加起来是3的倍数,则这个数肯定是3 ...
- 学习webservice
客户端测试页: WebService代码: using System; using System.Collections.Generic; using System.Linq; using Syste ...
- JS日历控件集合----附效果图、源代码
http://www.cnblogs.com/yank/archive/2008/08/14/1267746.html 在进行开发的过程中,经常需要输入时间,特别是在进行查询.统计的时候,时间限定更为 ...
- rabbitmq web管理页面无法访问
安装rabbitmq 之后可以通过默认的15672端口访问web界面进行管理,rabbitmq一些默认端口如下: 4369: epmd, a peer discovery service used b ...
- python接口自动化3-自动发帖(session)【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/python%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E ...
- CDH-5.7.0:基于Parcels方式离线安装配置
http://shiyanjun.cn/archives/1728.html https://www.waitig.com/cdh%E5%AE%89%E8%A3%85.html
- ORA-01940: cannot drop a user that is currently connected
https://www.cnblogs.com/lwlxqlccc/p/8694696.html
- (1)C# 创建ef sqlserver
连接sql 如果报错不能连接的错误 把这三个IP地址的端口号设置上,并启用.第一个18.6是本机ip,之后就可以测试了 最后重启服务器
- 【分享】· 图床&在线分享演示文稿
关于图床 什么是图床? 这并不是一个多么高大上的名词概念!用比较通俗的话来说,当你在撰写新文章时,你需要去插入图片以使得你的文章内容更加直观.易懂,这个时候有以下几种办法: 在博客根目录的 sourc ...