Ruby 中的?? 含义
本文将对这行代码进行澄清; 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
语句的简写。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。