你好,我是在ruby編程的新手。 冉橡膠檢查我的項目,它說:Rubocop:方法有太多的線
方法有太多的線。 [13/10]高清refresh_status
這裏是我的方法:
def refresh_status
lost = false
in_progress = false
won = false
@bets.each do |bet|
lost = true if bet.result == :lost
if bet.result == :canceled
@to_return /= bet.odd
won = true
end
in_progress = true if bet.result == :in_progress
won = true if bet.result == :won
end
def_result_after_refresh(lost, in_progress, won)
end
def def_result_after_refresh(lost, in_progress, won)
if lost
@result = :lost
elsif in_progress
@result = :in_progress
elsif won
@result = :won
end
end
無法找到一種方法,使該方法更短,也許你能幫忙嗎?
比較'bet.result'的所有條件。你可以使用'case'語句來使你的代碼更具表現力,但可能不會更短。因此,您可以在一行中進行初始化,例如'lost,in_progress,won = false,false,false'。 – sschmeck
rubocop不允許使用平行(一行)assingments @sschmeck – user3662708