确定表达的“真实性”?

时间:2011-02-10 05:53:10

标签: ruby truthiness

  

可能重复:
  Check if Ruby object is a Boolean
  How can I avoid truthiness in Ruby?

给定如下的数组(例如):

[3, false, "String", 14, "20-31", true, true, "Other String"]

例如,是否有更简单的方法来确定哪些元素是实际布尔值而不诉诸于此?

value === TrueClass || value === FalseClass

依赖于数组中的位置不是一个选项,因为它会因具体情况而异。

1 个答案:

答案 0 :(得分:0)

您可以尝试(true & value) == value。括号中的部分似乎总是返回一个布尔值;如果该值最初不是bool,那么它将不等于结果。然而,一个布尔将会。