arrays - ruby 中 boolean 数组的最终逻辑值

标签 arrays ruby boolean boolean-logic

假设我有一个如下所示的数组:

[true, true, false] 

我正在传递一个运算符和数组,它可能是ANDORXOR

所以我想根据指定的运算符计算数组的逻辑值。

例如:

对于给定的数组[true, true, false] 和运算符AND 我应该能够连续执行数组中的 n 个元素

Steps: true AND true -> true, true AND false -> false

因此输出应该是false

数组可以是n个 boolean 值。

最佳答案

最好和最简单的方法是使用 reduce:

def logical_calculation(arr, op)
  op=='AND' ? arr.reduce(:&) : op=='OR' ? arr.reduce(:|) : arr.reduce(:^)
end

还有另一种方法可能是使用 inject

OPS = { "AND" => :&, "OR" => :|, "XOR" => :^ }

    def logical_calculation(array, op)
      array.inject(&OPS[op])
    end

关于arrays - ruby 中 boolean 数组的最终逻辑值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45987888/

相关文章:

python - 如何理解Python中all()函数中的取模?

android - CheckBox[] 与 onClickListener[]?

java - 将元素添加到数组的开头。

php - 如何获取自定义标签的值和标签之间的值

javascript - 一个数组还是多个? (哈希表)

sql - 用排序重构 Ruby on Rails link_to

c - 添加二维数组行

python - Ruby:无法在 Windows 7 上安装 libv8:缺少 python 安装

Regex/Ruby - 分割保留分隔符

boolean - 如何在不进行类型转换的情况下确定“确切”一个 boolean 值是否为真?