我是 Rails 和 Ruby 的初学者,我正在开发一个用于跟踪玩家及其赢、输和 elo 的表格的 elo 系统。
现在我收到错误
app/models/player.rb:36: syntax error, unexpected keyword_end,
expecting end-of-input):
app/controllers/players_controller.rb:3:in `index'
我已经搜索了所有文件以查找缺少的右括号或括号,但找不到任何东西。以下是我的一些代码片段:
玩家控制器索引
def index
@players_items = Player.all.sort{|y,x| x.get_elo() <=> y.get_elo()}
end
PlayerModel 方法
def get_elo()
return self.elo
end
def update_weight()
var = wins.count + lose.count
if(var <= 6)
self.weight = 50
elsif(6 < var and var <= 15)
self.weight = 25
else
self.weight = 15
end
end
def update_elo(p2_elo, result)
p1_elo = self.elo
expected_score = 1 / (1 + 10 ** ((p2_elo - p1_elo)/400))
self.elo += (self.weight * (result - expected_score)).round
end
如果有人可以帮助我,将不胜感激。
编辑:根据要求,这是我的 Player 模型类的第 27-36 行
def win_percentage()
var = wins.count + lose.count
if(var == 0)
return 0.001
end
else
return ((wins.count * 6) - (lose.count * 4))
end
end
end