Sto scrivendo un semplice programma in Haskell, e hanno la seguente funzione:multilinea if Haskell
tryMove board player die = do
let moves = getMoves board player die
putStrLn ("Possible columns to move: " ++ (show $ moves))
if not $ null moves then
let col = getOkInput $ moves
putStrLn " "
return $ step board (getMarker player) col firstDie
else
putStrLn ("No possible move using "++(show die)++"!")
return board
ci vuole un consiglio, e se un giocatore può fare una mossa basata su un tiro di dado, il nuovo la scheda viene restituita, altrimenti viene restituita la vecchia scheda.
Tuttavia, haskell non mi consente di utilizzare più righe nella mia istruzione if. È possibile usare qualche tipo di limitatore in modo che io possa usare cose come let
in un if?
Stile: ' "Possibili colonne di muoversi:" ++ (spettacolo $ si muove)' può essere semplificata a ' "Possibili colonne di muoversi:" ++ mostrare moves'. Non usare '$' quando c'è una singola variabile alla sua destra: è ridondante. – chi
@chi: Grazie! Avrebbe dovuto usare hlint prima di pubblicare;) – Pphoenix