如何在 Ruby 中构造一个数组,该数组仅使用变量(如果存在),否则使用 nil
代替它。使用数组构造函数内的条件逻辑。
简化示例:
a = 1
c = 3
arr = [a, b || nil, c]
我尝试了多种不同的方法,但它们不起作用,所以我觉得我在这里错过了一些基本的东西。
(b || nil)
b ? b:无
b.nil? ?零:b
这可能吗?
上下文:
此数组构造函数在多个不同模型使用的循环内使用。有些模型具有 b
属性,有些则没有,因此很难推断外部逻辑。
最佳答案
是的,您可以使用已定义?
方法。如果变量存在则返回"local-variable"
,如果不存在则返回nil
。
arr = [a, defined?(b) ? b : nil, c]
关于arrays - 构造一个内部包含条件逻辑的 Ruby 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39800384/