gpt4 book ai didi

ruby-on-rails - Rails 中的 Hacker News 算法?

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

HN算法:

(p - 1) / (t + 2)^1.5

地点:

p = votes of question and first answer
t = age in hours

考虑具有以下字段的链接模型:

up_votes
down_votes
created_at

这个实现在 Ruby on Rails 中是否正确?我不确定是不是:

def rank(link)
p = link.up_votes - link.down_votes
t = (Time.now - link.created_at).to_i / 60 / 60
return (p - 1) / (t + 2)**1.5
end

最佳答案

根据您的描述,一切看起来都很好。唯一可能有问题的是使用 / 运算符。如果两个操作数都是整数(即 5/2 = 2),此运算符返回整数,但是使用带有浮点值的 ** 总是返回 float (即使值是整数,例如9**1.5 = 27.0) 所以你在这里很安全。

另外,最好使用 /60**2 而不是 /60/60。我可能会使用:

t = ((Time.now - link.created_at) / 1.hour).round

我认为移除圆头不会有什么坏处。

关于ruby-on-rails - Rails 中的 Hacker News 算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22733543/

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