Все значения в Ruby действительны, кроме nil
и false
.
Если вы хотите преобразовать небулевский объект в логический, основываясь на его истинности, вы можете использовать оператор «двойной взрыв», как в следующем примере:
some_value = 42
some_other_value = 0
yet_another_value = nil
puts !!some_value # => true
puts !!some_other_value # => true
puts !!yet_another_value # => false
Чтобы использовать истинность объекта в условиях, вы можете просто использовать их как булевы.Вот так:
def my_method(my_argument)
if my_argument
'Received a truthy argument'
else
'Received a falsy argument'
end
end
puts my_method(0) # => 'Received a truthy argument'
puts my_method(nil) # => 'Received a falsy argument'
puts my_method(false) # => 'Received a falsy argument'
Я надеюсь, что это поможет, но без дополнительной информации о контексте вашего вопроса я не уверен, что смогу рассказать вам гораздо больше.Отправленные вами сообщения об ошибках более чем неясны и даже противоречивы.
Означает ли условие «когда задана начальная точка» начальную точку, отличную от значения по умолчанию 0?
Условия «любое значение является ложным» и «присутствует истинное значение»оба могут быть легко выполнены, данный массив может просто содержать по одному из каждого.В этом случае какое условие должно иметь приоритет?