Ruby的.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?方法就是blank?方法的相反,判断是否存在,因此present?方法与!blank?方法两者表达的意思是一样的。
例:.nil?
nil.nil? => true
false.nil? => false
1.nil? => false
0.nil? => false
"".nil? => false
[].nil? => false
例:.empty?
"".empty? => true
"abc".empty? => false
[].empty? => true
[1, 2, 3].empty? => false
1.empty? => NoMethodError #说明 empty? 方法不能用于整数
例:.blank?
p true.blank? FALSEp false.blank? TRUEp "true".blank? FALSEp "".blank? TRUEp "\n".blank? TRUEp '\n'.blank? FALSEp 'true'.blank? FALSEp ''.blank? TRUEp 1.blank? FALSEp [].blank? TRUEp [1].blank? FALSE
例:.present?
nil.present? => false [].present? => false "hello".present? => true ["a"].present? => true
部分参考自:http://www.myexception.cn/program/1049108.html
转载于:https://blog.51cto.com/bohsu/1324907
Ruby的.nil? .empty? .blank? .present?区别相关推荐
- php 空函数,PHP 中函数 isset(), empty(), is_null() 的区别
PHP 中函数 isset(), empty(), is_null() 的区别, 使用 PHP 进行开发的时候,经常会用到 isset(), empty(), is_null() 这几个函数对数据进行 ...
- Mysql 数据库默认值选 ‘‘“ 、Null和Empty String的区别
Mysql 数据库默认值选 ''" .Null和Empty String的区别 1:空值('')是不占用空间的 2: MySQL中的NULL其实是占用空间的.官方文档说明: "NU ...
- RAD Studio 10.4 for delphi XE Assigned和Nil的联系与区别
RAD Studio 10.4 for delphi XE Assigned和Nil的联系与区别 一.原理 系统级别的函数System.pas : System.Assignedfunction As ...
- ruby include require load extend 的区别
ruby include require load extend 的区别 -–require/load-- 在功能上require和load都是用来导入文件的. 区别如下: require 用来加载库 ...
- php中empty与isset的区别,再谈php中empty与isset区别详解
empty与isset在php中一个是为空,另一个判断是是否为一个存在的变量了,下面小编来给各位同学介绍php中empty与isset区别,欢迎各位同学进入参考. empty是判断变量值是非空或非零的 ...
- isset和empty有什么区别? (PHP面试题)
1)如何检测一个变量是否被定义 : isset为假 1,直接定义为假 2,未定义变量为假 3,unset销毁的变量为false isset():检测一个变量是否被定义 2)如何检测一个变量 ...
- nil 和NULL 的区别
博客引用处(以下内容在原有博客基础上进行补充或更改,谢谢这些大牛的博客指导): nil和NULL 的区别 在java项目中会遇到nil和null,下面详细说明下他们的区别: NULL 只能作为指针变量 ...
- golang nil slice 和 empty slic 的区别 空切片
var slice []int 创建出来的 slice 其实是一个 nil slice.它的长度和容量都为0.和nil比较的结果为true.这里比较混淆的是empty slice,empty slic ...
- [golang]nil slice和empty slice的区别
前言 在开发的时候,会遇到对于nil slice和empty slice的问题,往往在声明了slice之后,在使用的时候却出现了问题. 问题 以下是错误的用法,会报数组越界的错误,因为只是声明了sli ...
最新文章
- 服务器群装系统,手把手教你安装及配置服务器集群系统
- C#: static关键字的作用
- linux c printf 打印输出null
- 【Flutter】StatelessWidget 组件 ( Divider 组件 | Card 组件 | AlertDialog 组件 )
- 机器学习——KNN实现
- word2003快速排版工具栏_干货分享 | 闲到在家数瓜子?——先把ID排版秘籍学了吧(上)...
- 机器学习之路:python k近邻回归 预测波士顿房价
- 【PKUSC2018】星际穿越【结论】【倍增dp】
- 各种排序(数据结构复习之内部排序算法总结)
- python字典更改元素_python – 返回带有一个已更改元素的字典
- android keystore作用,如何使用Android KeyStore安全地存储任意字符串?
- 吴恩达深度学习——目标检测
- 如何进行影像建库及做ArcGIS Server Cache
- Teamviewer远程黑屏
- Cox回归+Cox比例风险回归模型
- IBM将花2.5亿收购第二家以色列移动软件开发商
- 很哇塞的网页特效之字符串切换
- WAP中推送技术的分析与设计(转)
- 三相电流滞环跟踪PWM控制
- 短视频在线去水印 视频伪原创批量处理工具