Ruby on rails 发生概率为x%的最佳算法?
我需要使事件发生在所有页面视图中可配置的x%页面视图上 我想确保我在这里正确地考虑了概率 下面的代码运行每个页面视图 如果我希望事件99%的时间发生Ruby on rails 发生概率为x%的最佳算法?,ruby-on-rails,ruby,statistics,probability,Ruby On Rails,Ruby,Statistics,Probability,我需要使事件发生在所有页面视图中可配置的x%页面视图上 我想确保我在这里正确地考虑了概率 下面的代码运行每个页面视图 如果我希望事件99%的时间发生 do_thing if SecureRandom.random_number(1..100) <= 99 do_thing if SecureRandom.random_number(1..100) <= 10 SecureRandom.random\u number(1..100)就概率计算而言,您的解决方案是正确的。但是我会使
do_thing if SecureRandom.random_number(1..100) <= 99
do_thing if SecureRandom.random_number(1..100) <= 10
SecureRandom.random\u number(1..100)就概率计算而言,您的解决方案是正确的。但是我会使用ruby方法Kernel#rand
来节省一些空间:
rand*100我看不出这有什么问题没有问题,尽管SecureRandom和初始化一个范围对此可能有些过分如果rand<0.99
应该也能用。@Tallboy:我觉得你的方法不错,但我会用SecureRandom.random\u number(100)==0
代替。如果你不想重新发明轮子,你可以用它