Номер находится в пределах 5% от другого номера - PullRequest
1 голос
/ 03 мая 2019

Я пишу скрипт ruby ​​для сравнения двух наборов чисел, которые должны быть в пределах 5% друг от друга.Есть ли отличный способ оценить это в рубине?

Что-то вроде

5.1.withinPercent(0.05) 5

1 Ответ

6 голосов
/ 03 мая 2019

Просто идея, обезьяна исправляет класс Float:

module MyFloatPatch
  def within(percent: 0.0, of: 0.0)
    (self - of).abs <= of * percent / 100.0
  end
end

Float.include MyFloatPatch

5.25.within percent: 5, of: 5.0 #=> true
5.26.within percent: 5, of: 5.0 #=> false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...