【发布时间】:2015-07-14 12:26:22
【问题描述】:
下面的行检查和执行什么?
prefix = root_dir.nil? ? nil : File.join(root_dir, '/')
这是包含这行代码的块。
def some_name(root_dir = nil, environment = 'stage', branch)
prefix = root_dir.nil? ? nil : File.join(root_dir, '/')
.
.
.
我知道'?'在红宝石中是检查是/否履行的东西。但是我对上面代码块中的用法/语法不是很清楚。
【问题讨论】:
-
一个问号是方法名的一部分,另一个是三元组的一部分。
-
这里是你可以理解的格式(顺便说一下这个伪代码)。
if root_dir == nil { return nil } else { return File.join(root_dir, '/')。然后获取条件返回的内容并将其分配给变量prefix。
标签: ruby-on-rails ruby