Ruby 中的?? 含义
作者:迹忆客
最近更新:2023/03/21
浏览次数:
本文将对这行代码进行澄清; prefix = root_dir.nil? ? nil : File.join(root_dir, '/')。
prefix = root_dir.nil? ? nil : File.join(root_dir, '/') 在 Ruby 中的用法
必须澄清两点:
root_dir.nil?? ... : ...
如果变量 root_dir 是 nil,nil? 方法返回 true,否则返回 false。
初学者可能会对 ? 感到困惑。在方法名称的末尾。在编写只能返回 true 或 false 的函数时,以问号结束函数名是标准做法。
if root_dir.nil?
nil
else
File.join(root_dir, '/')
end
当我们使用 nil? 要检查变量是否为 null,必须以问号结束函数。
这 ? ... : ... 被称为三元运算符。它是 if/else 语句的简写。

