gpt4 book ai didi

ruby - Sinatra 条件

转载 作者:数据小太阳 更新时间:2023-10-29 07:14:41 25 4
gpt4 key购买 nike

在学习了大约一个月的 ruby​​ 之后,我决定转向 Sinatra。我需要帮助来理解说明条件和路由的 Sinatra 片段。有人可以逐行清楚地解释发生了什么,以及这个 block 实际上是如何随机化路线的吗?

set(:probability) { |value| condition { rand <= value } }

get '/win_a_car', :probability => 0.1 do
"You won!"
end

get '/win_a_car' do
"Sorry, you lost."
end

最佳答案

整体行为将导致第一个路由在大约 10% 的时间内加载,第二个路由将在其余时间加载。

第一条路线使用通过概率设置的条件。 probability set above 将通过其值并测试以查看0-1之间的随机#是否小于此概率值。由于值为 0.1,它会在 10% 的时间内返回 true。

另外 90% 的时间会调用第二条路线。较早的路由优先,将调用找到的第一个有效路由。

如果您想在其他设置中设置概率,则需要使用 Proc 推迟概率的评估。

在此处阅读有关条件路由的更多信息: http://www.sinatrarb.com/intro#Conditions

关于ruby - Sinatra 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7058229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com