📜  nil (1)

📅  最后修改于: 2023-12-03 15:33:07.581000             🧑  作者: Mango

nil

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。如果是 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