Как сравнить логические значения в рельсах - PullRequest
0 голосов
/ 27 марта 2019

Я сравниваю типы данных на основе требований. У меня есть логические возвращаемые значения в виде строки "true" или "false". Мне нужно сравнить фактическое значение с ожидаемыми значениями. Я использую приведенный ниже код для сравнения, но он не сравнивается.Как сравнить логические значения в рельсах?

   if expected_value.include? "DataType_Boolean"
    #   Check that the actual value should be either true or false.
    if expected_value.casecmp("true").zero? || expected_value.casecmp("false").zero?
      result = "Passed"
    end

1 Ответ

0 голосов
/ 27 марта 2019

Я предполагаю, что expected_value выглядит примерно так (и не является массивом):

"DataType_Boolean false"

, поскольку, если вы вызовете casecmp для массива, он вернетнеопределенная ошибка метода.Если это так, вы можете продолжать вызывать include?, чтобы проверить, соответствует ли оно.

if expected_value.include? "DataType_Boolean"
  #   Check that the actual value should be either true or false.
  if expected_value.include?("true") || expected_value.include?("false")
    result = "Passed"
  end
end

Если приведенное выше предположение верно, ваше второе утверждение if никогда не вернет true из-за включения дополнительныхчасти строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...