是否有更短的方法来执行此操作(考虑到 a
已设置为某个值):
a = b 如果 b.存在?
我以前可能遇到过这样做的方法,但不记得了。
最佳答案
仅 a = b if b.present?
本身在功能上等同于:
if b.present?
a = b
else
a = nil
end
所以你可以使用Object#presence
:
presence()
Returns the receiver if it's present otherwise returnsnil
.object.presence
is equivalent toobject.present? ? object : nil
像这样:
a = b.presence
如果 a
已经有一个值并且您实际上是在说:
a = something_interesting
a = b if b.present?
那么你可以说:
a = b.presence || something_interesting
关于ruby-on-rails - 在 ruby 中分配变量之前是否有一种简便的方法来检查是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40273321/