- 浏览: 51653 次
- 性别:
- 来自: 青岛
文章分类
最新评论
首先这三个都是判空的。 而 .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?)
下面是一些例子:
nil.nil? => true false.nil? => false 1.nil? => false 0.nil? => false "".nil? => false [].nil? => false "".empty? => true "abc".empty? => false [].empty? => true [1, 2, 3].empty? => false 1.empty? => NoMethodError #说明 empty? 方法不能用于整数
p true.blank? FALSE
p false.blank? TRUE
p "true".blank? FALSE
p "".blank? TRUE
p "\n".blank? TRUE
p '\n'.blank? FALSE
p 'true'.blank? FALSE
p ''.blank? TRUE
p 1.blank? FALSE
p [].blank? TRUE
p [1].blank? FALSE
发表评论
-
Evaluation in Ruby
2011-12-28 15:45 1158Ruby的evaluation是一个很重要的功能,它可 ... -
Ruby的include和extend
2011-12-28 15:17 1424在ruby中基本上有三种引入module的方式 一、在 ... -
rails之 最有用的eval族方法:class_eval
2011-12-26 17:02 1301从本质上讲,class_eval(也就是module_ev ... -
alias, alias_method和alias_method_chain
2011-12-26 16:34 874本文介绍Ruby里的几个关键字。 1. alias ... -
Ruby学习笔记-Block, Proc and Lambda
2011-12-08 14:08 10511.Block: Ruby中的块就是由多行代码组成 ... -
Symbol
2011-12-08 11:25 911Symbol 在Ruby中,有一种奇怪 ... -
rvm 使用 -- ruby 1.9.2 rails 3.1.2
2011-11-21 16:35 1633RVM可以管理不同的ruby,也可以管理同一个ruby下 ... -
hash 和 array 的一个用法
2011-11-01 14:21 719a=[[1,2],[3,4]] Hash[*a ... -
按位与、按位或组合
2011-10-20 18:52 1178下午 看了下 按位与、按位或组合 权限串应用 ... -
gem 降级
2011-10-09 17:21 1967gem uninstall rubygems- ... -
render vs redirect
2011-08-15 15:53 982render和redirect的区别在于: rende ... -
ruby 正则匹配非站内链接
2011-08-01 16:48 960def has_href_not_XXX?(content ... -
form_for && form_tag
2011-07-27 13:47 959<% form_for @XX, :url => ... -
好吧,就这么写了
2011-07-16 17:02 540以后写代码 就按这个思路来 先写 伪代码 再写 ... -
Ruby的类
2011-03-31 11:40 960类的基本定义 class Myclass #注意类名必须是常量 ... -
private和protected在ruby和Java里的区别:
2011-03-31 10:15 10831、在不同对象实例当中的作用域不同 Java当中,不管priv ... -
java转ruby
2011-03-31 10:14 756换了新工作,开始学习ruby,干了一段时间的java,有必要停 ...
相关推荐
node.right = remove_node(node.right, min_right.value) unless node.right.nil? return node.left if node.left.nil? return merge_nodes(node.left, node.right) if node.left.left.nil? && node.left.right....
真字符串 可以转换为真值、 true和false的字符串集合。 "true" . truthy? "false" ....nil . falsy? 如果接收者分别为真或假,这些方法将返回true 。 安装 将此行添加到应用程序的 Gemfile 中: gem
strongSelf.presentViewController(imagePickerController, animated: true, completion: nil) } }, Fail: { //SVProgressHUD.showErrorWithStatus("无法获取照片权限") }) 选取图片来自相机 注意使用[weak ...
@next = nil end end ``` 接下来,我们需要创建一个链表类,该类将包含一系列方法来管理链表。这些方法可能包括初始化链表、添加新节点、删除节点、检查链表是否为空以及遍历链表等。 ```ruby class LinkedList ...
user_name: nil, password: nil, authentication: nil, enable_starttls_auto: true }, send_if: lambda { |mail| mail.destinations.select { |address| ["yedingding@gmail.com"].include?(address) }.any? ...
is_bullshit叫废话。... 以下值为合格的总废话: [nil, [], {}, 0, false, 'undefined', 'false', '', '0', 'nil', 'null'] .legit? 和.seems_legit? .bullshit?的对立是.bullshit? nil.bullshit?
return Node.new(key, value) if node.nil? if key < node.key node.left = insert_node(node.left, key, value) else node.right = insert_node(node.right, key, value) end node end # 查找节点 def ...
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: .UIKeyboardWillShow, object: nil) NotificationCenter.default.addObserver(self, selector: #selector...
.first, error == nil { let coordinate = placemark.location!.coordinate print("经度: \(coordinate.longitude), 纬度: \(coordinate.latitude)") } else { print("地理编码失败: \(error?....
查询生成器 Ruby 中 Elasticsearch 的查询构建器。 用法 gem 'es-query-builder' builder = EsQueryBuilder .... # Fields allowed searching with match query. query_fields : [ 'field... # Empty query { size :
#weak_attr_accessor 用于 ... @view_controller = nil else @view_controller = WeakRef . new ( obj ) end end end 安装 将此添加到您的Gemfile : gem 'weak_attr_accessor' 运行bundle install 执照
在业务 处理业务开放时间非常困难,或者至少要为每个应用程序写很多工作。... # => nil (since we've not set any hours yet!) # We want to be open 9am til 6pm on a Monday InBusiness . hours . monday
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; NSDictionary *json = [data objectFromJSONData]; //init object Person *person = [[Person alloc] ...
否则nil 。 例如, range = IPCat . datacenter? ( '52.95.252.0' ) # => instance of IPCat::IPRange range . name # => 'Amazon AWS' IPCat . datacenter? ( '127.0.0.1' ) # => nil 执照 版权所有(c)2013 ...
someOptional == nil ? True branch : False branch 新的: someOptional. isSome ? True branch : False branch someOptional. isNone ? True branch : False branch someOptional. isNotSome ? True branch : ...
present(activityViewController, animated: true, completion: nil) } ``` 为了实现类似新浪微博的应用场景,你可能还需要实现一些额外的功能,例如登录微博账号、授权、上传图片到微博服务器等。这些通常涉及到...
使用`NSNotificationCenter`的`addObserver:selector:name:object:`方法,传入当前控制器的引用、一个处理键盘通知的方法选择器、键盘通知的名称以及nil(因为键盘通知的发送者是系统的,所以我们不需要特定的对象)...
guard let contact = contact, error == nil else { print("获取联系人失败:\(error?.localizedDescription ?? "未知错误")") return } contact.givenName = "王五" do { try store.save(contact, to: .main...
.present(alertController, animated: true, completion: nil) ``` 在上述代码中,`UIAlertTableView`类提供了一个构造函数,接受标题、消息、样式、数据数组以及一个闭包作为参数,该闭包会在用户完成选择时被调用...
.present(alertController, animated: true, completion: nil) } ``` 使用这个函数,只需要提供标题、消息和一组操作,就可以轻松地创建并展示一个警告对话框: ```swift show_alert(title: "警告", message: ...