J'ai une mise en œuvre naïve d'un gameloopexception de débordement de pile lors de l'utilisation des tuyaux en fonction récursive
let gameLoop gamestate =
let rec innerLoop prev gamestate =
let now = getTicks()
let delta = now - prev
gamestate
|> readInput delta
|> update delta
|> render delta
|> innerLoop delta
innerLoop 0L gamestate
Cette mise en œuvre jette un StackOverflowException. Dans mon esprit, cela devrait être récursif. Je pourrais faire un travail autour comme ceci
let gameLoop gamestate =
let rec innerLoop prev gamestate =
let now = getTicks()
let delta = now - prev
let newState = gamestate
|> readInput delta
|> update delta
|> render delta
innerLoop now newState
innerLoop 0L gamestate
Donc ma question est pourquoi le premier exemple de code jette une exception de stackoverflow.
Sur quelle plateforme courez-vous? –
Pour clarifier: la version de travail que vous avez affichée fonctionne-t-elle? – Peter
@FyodorSoikin Je cours sur Windows 10 en utilisant la version fsi 14.0.23413.0 – Xiol