Как я могу избежать правдивости в Ruby?

Есть ли какой-нибудь стандартный способ избежать правдивости в Ruby, или мне нужно было бы применить собственное решение, такое как

class FalseClass
  def to_bool
    self
  end
end

class TrueClass
  def to_bool
    self
  end
end

true.to_bool # => true
false.to_bool # => false
nil.to_bool # => NoMethodError
42.to_bool # => NoMethodError

Фон: я знаю этоto_bool будет идти против разрешающей природы Ruby, но я играю с троичной логикой и хочу избежать случайного выполнения чего-то вроде

require "ternary_logic"
x = UNKNOWN
do_something if x

Я использую троичную логику, потому что я пишу синтаксический анализатор веб-сайта с общим доступом (для личного, а не коммерческого использования), и в некоторых полях может отсутствовать информация, и поэтому неизвестно, будет ли это место соответствует моим критериям или нет. Однако я бы попытался ограничить количество кода, использующего троичную логику.

Ответы на вопрос(3)

Ваш ответ на вопрос