似乎这没有按预期工作:
if c = Countries.first.nil?
... do something
end
Run Code Online (Sandbox Code Playgroud)
比较有效,但任务没有.有没有办法在一行中进行比较和分配?
这是你真正想要的:
if (c = Countries.first).nil?
# ... do something
end
Run Code Online (Sandbox Code Playgroud)
在你的例子中,你会得到c = (Countries.first.nil?),所以c将是false或true.
你可能真的这样写:
unless (c = Countries.first)
# ... do something
end
Run Code Online (Sandbox Code Playgroud)
但要小心!我会保持这一点(),因为否则它会显示你的意思是比较,红宝石翻译会警告你.
我有时会使用这种模式,但要谨慎使用它,因为它会使事情变得不那么清晰.
| 归档时间: |
|
| 查看次数: |
3762 次 |
| 最近记录: |