.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?)

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

  1. Rails中nil? empty? blank? present?的区别

    .nil? Ruby方法 .nil?方法被放置在Object类中,可以被任何对象调用,如果是nil则返回true 在Rails中只有nil对象才会返回true nil.nil? #=> true ...

  2. .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 ...

  3. ruby -- 基础学习(五)empty、nil、blank三者之间的区别

    这三个方法在ROR中经常用到,都是用来判断是否为空的. 区别是: ruby的方法:.nil?..empty? rails的方法 :.blank? 用法的区别: .nil?    :   判断对象是否存 ...

  4. empty blank

    非nil对象才能调用 empty nil: 对象是否存在empty: ”“ []blank: nil emptypresent: ! blank

  5. PHP判断变量是否存在及函数isset() 、empty()与is_null的区别

    一.举例说明 A.如何判断一个变量是否定义? <?php // 假设不存在$test 变量 if (isset($test)) { echo '$test 已经set', '<br/> ...

  6. php中empty(), is_null(), isset()函数区别

    empty(), is_null(), isset()真值表(区别) 我们先来看看这3个函数的功能描述 www.111cn.net isset 判断变量是否已存在,如果变量存在则返回 TRUE,否则返 ...

  7. php中empty(), is_null(), isset()函数区别(转)

    empty(), is_null(), isset()真值表(区别)   我们先来看看这3个函数的功能描述 www.111cn.net isset 判断变量是否已存在,如果变量存在则返回 TRUE,否 ...

  8. empty 和 isset的区别和联系

    empty 和 isset的区别和联系 要说它们的联系,其共同点就是empty()和isset()都是变量处理函数,作用是判断变量是否已经配置,正是由于它们在处理变量过程中有很大的相似性,才导致对它们 ...

  9. String.Empty,NULL和""的区别

    String.Empty,NULL和""的区别 string.Empty就相当于"" 一般用于字符串的初始化 比如: string a; Console.Wri ...

随机推荐

  1. iOS技术博客(文摘)链接地址

      objc系列译文(5.1):认识 TextKit 手把手教你配置苹果APNS推送服务 如何使用iOS Addressbook UIApplication深入研究 GCD倒计时 那些不能错过的Xco ...

  2. esxi 6 添加硬盘、网卡

    添加硬盘 esxi系统装完之后,直接再接上一块硬盘,然后再使用管理工具添加硬盘 打开VMware vSphere Client,登录esxi服务器, 打开配置-存储器-选择添加存储器 选择磁盘 这里能 ...

  3. [ADB]ADB(Android Debug Bridge)简介及基础(不包含命令)

    "Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an ...

  4. gnome-session 使用方法与介绍

    注:译自gnome-session[1],有调整,如若有误,欢迎指正 用途 启动GNOME桌面环境 概要(synopsis) 使用方法 gnome-session [--autostart=DIR] ...

  5. Sep19_html/css_imooc学习笔记_1

    1. <h1></h1>标题,h1-h6从大到小 2. <p></p> 段落 3. <img src=“1.jpg”> 加入图片 4.基本结 ...

  6. Hadoop集群搭建安装过程(二)(图文详解---尽情点击!!!)

    Hadoop集群搭建安装过程(二)(配置SSH免密登录)(图文详解---尽情点击!!!) 一.配置ssh无密码访问 ®生成公钥密钥对 1.在每个节点上分别执行: ssh-keygen -t rsa(一 ...

  7. SpringMVC中定时器继承Task后无法对service注入问题

    最近在做一个Spring+MyBatis的一个项目,其中用到了Redis的存储,然后遇到问题是这样的: RedisTask是通过定时器来每分钟像数据库里推送的,于是就有了 public class R ...

  8. 转载《 LayoutInflater 的inflate函数用法详解》

    很多人在网上问LayoutInflater类的用法,以及inflate()方法参数的含义,现解释如下: inflate()的作用就是将一个用xml定义的布局文件查找出来,注意与findViewById ...

  9. c#网络编程

    c#网络编程 1.system.net命名空间 DNS类:DNS类包含了许多的方法,总结起来常用的就是获取获取主机地址,获取主机名,根据地址 获取DNS主机信息,根据主机名获取DNS信息: IPadd ...

  10. codeforces Magnets

    link:http://codeforces.com/contest/344/problem/A 这道题目很简单. 把输入的01 和10 当做整数,如果相邻两个数字相等的话,那么就属于同一组,否则,就 ...