📅  最后修改于: 2023-12-03 15:33:07.581000             🧑  作者: Mango
nil
在多数编程语言中代表“没有值”或“空”。在 Ruby 中,nil
是一个特殊的对象,可以理解为一个“空”对象,它表示没有指向任何对象的指针。
在 Ruby 中,当我们使用一个未赋值的变量时,它的值是 nil
。
# 定义变量 x,它的值为 nil
x = nil
# 打印 x,输出 nil
puts x
除此之外,还有一些情况会返回 nil
。比如,当我们使用 if
语句判断某个条件不成立时,返回 nil
。还有,当我们调用一个不存在的方法时,也会返回 nil
。
# 定义一个空数组
array = []
# 使用 [] 方法获取数组中的第 100 个元素,因为不存在,所以返回 nil
puts array[100]
# 判断字符串不包含数字 2,因为包含,所以进入 if 分支,返回 nil
if "hello world" !~ /2/
puts "该字符串不包含数字 2"
end
我们可以使用 nil?
方法来判断一个对象是否为 nil
。如果是 nil
,它将返回 true
。否则,返回 false
。
# 定义一个变量 x,它的值为 nil
x = nil
# 判断 x 是否为 nil,输出 true
puts x.nil?
# 定义一个变量 y,它的值为 "hello"
y = "hello"
# 判断 y 是否为 nil,输出 false
puts y.nil?
除此之外,还可以用 unless
关键字来判断一个表达式是否为 nil
。
# 定义一个数组
array = [1, 2, 3]
# 判断数组元素个数是否为 0,如果是则输出 "数组为空",否则输出数组元素个数
unless array.size
puts "数组为空"
else
puts "数组元素个数为 #{array.size}"
end
nil
是 Ruby 中表示“没有值”的特殊对象。当我们使用一个未赋值的变量、使用 if
语句判断条件不成立、调用一个不存在的方法等情况时,将返回 nil
。我们可以用 nil?
方法和 unless
关键字来判断一个对象是否为 nil
。