Я просто нашел ошибку в некотором количестве манипуляций в моей программе, и я получаю FloatDomainError (NaN)
Может кто-нибудь объяснить мне NaN в Ruby?
Так что я начал протоколирование номера передается с использованием:
if(metric.is_a?(Numeric))
self.metric = metric
else
LOGGER.warn("metriC#{metric} is not a number")
self.metric=0
end
Но число передается в это NaN
который, видимо, is_a?(Numeric)
, поскольку я не получаю предупреждение о своем журнале, и он передает метрику на мой метод metric =, где я получаю свой FloatDomainError
Теперь, исправьте меня, если я ошибаюсь, но разве это не так? кажется семантически неправильным иметь NaN
(Not A Number) будет иметь тип Numeric ?? Может кто-то объяснить это мне?
BTW с использованием JRuby-1.4.1
Если бы только некоторые индийские рестораны. . :) не удалось: D – 2010-09-01 14:23:00
у нас был бы восхитительный ответ :) – brad