В Ruby, каков хороший способ указать ряд вероятностей, а затем определить фабрику, которая возвращает результат, основанный на них? - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь придумать простую реализацию функции, которая принимает ряд вероятностей и соответствующих результатов, а затем позволяет мне вызывать ее, чтобы получить случайный результат в соответствии с вероятностями.

В этомВ этом случае пользователи смогут вводить вероятности с той точностью, с какой они хотят:

  oracle = Oracle.new
  oracle << Scenario.new(probability: 0.0001, result: 1)
  oracle << Scenario.new(probability: 0.01, result: 2)
  oracle << Scenario.new(probability: 0.1, result: 3)
  oracle << Scenario.new(probability: nil, result: 4) #oracle will fill to 100%

  result = oracle.result

С фиксированной точностью я могу манипулировать числами и использовать rand (), но даже этонемного дрянной / многословный.

Есть ли умный способ определить #result?

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