Difference between .nil?, .blank? and .empty?
Possible Duplicate:
A concise explanation of nil v. empty v. blank in Ruby on Rails
谁能告诉我.nil?,。blank?,。empty之间的区别? 在红宝石?
任何答案都将受到高度赞赏。
在Ruby中,对象中的
因为没有为所有对象定义
在回答之后,我发现之前已经问过这个问题,所以你也应该检查这个问题的答案。
感觉它;)
零?
1 2 3 4 5 6 7 8 | nil.nil? #=> true [].nil? #=> false "".nil? #=> false "".nil? #=> false |
空的?
1 2 3 4 5 6 7 8 | [].empty? #=> true nil.empty? #=> undefined method "".empty? #=> true "".empty? #=> false |
空白?
1 2 3 4 5 6 7 8 | [].blank? #=> true nil.blank? #=> true "".blank? #=> true "".blank? #=> true |
任何ruby变量都是一个对象,因此它可以被单元化/取消设置(设置为nil)。如果未初始化,
1 2 3 4 | b = nil b.nil? # true b = 'string value' b.nil? # false |
ruby中的数组,字符串和流可以不包含任何数据,因此它们可以为空。如果是这样,
1 2 3 4 5 6 7 | array = [] array.empty? # true array << 5 << 4 # [5, 4] array.empty? # false string ="" # empty line string.empty? # true |