arrays - 构造一个内部包含条件逻辑的 Ruby 数组

标签 arrays ruby

如何在 Ruby 中构造一个数组,该数组仅使用变量(如果存在),否则使用 nil 代替它。使用数组构造函数内的条件逻辑。

简化示例:

a = 1
c = 3

arr = [a, b || nil, c]

我尝试了多种不同的方法,但它们不起作用,所以我觉得我在这里错过了一些基本的东西。

  1. (b || nil)
  2. b ? b:无
  3. b.nil? ?零:b

这可能吗?

上下文: 此数组构造函数在多个不同模型使用的循环内使用。有些模型具有 b 属性,有些则没有,因此很难推断外部逻辑。

最佳答案

是的,您可以使用已定义?方法。如果变量存在则返回"local-variable",如果不存在则返回nil

arr = [a, defined?(b) ? b : nil, c]

关于arrays - 构造一个内部包含条件逻辑的 Ruby 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39800384/

相关文章:

c - 为什么在函数中将 char 数组作为参数传递并尝试在函数内部进行修改会显示段错误?

java - 字节数组到 *Signed* Int

python - 检查我的脚本是否启动且未卡住的可靠方法是什么?

ruby - 为什么这个 EventMachine Synchrony hiredis 示例返回 DefaultDefferable,而不是请求中的值?

ruby-on-rails - Rails中如何判断日志设备的类型

Json 多数组的 C# Web API POST 方法

php - 检查两个数组是否为 "almost equal"(一个可以转换为另一个)

java - 我怎样才能让这个程序在线性时间内运行?

ruby-on-rails - 如何使用范围作为 POST 数据到 Rails Controller 的参数之一

ruby - 匹配中多个期望语句的自定义断言消息