それはワンライナー方法はseason
を反復処理して返すことがあるはずのように思える最後season
show.has_season?
がfalse
に評価されます。Rubyのループで数値イテレータを返す簡潔な方法はありますか?
def last_season(show)
season = 1
season += 1 while show.has_season?(season)
return season
end
編集:has_season?
は、HTTP GETコールを必要とするので、私は実際にそれを使用して周りに反復きれいな方法を見ることはできません。
既知でない場合は、1.0/0.0が正の無限大を返します。 Ruby 1.9.2から、Float :: INFINITYを代わりに使用することもできました –
ありがとうございます。実装は 'Show'クラスにする必要がありますが、まだループが必要です。 –