Sono nuovo di Haskell e ho un problema con la funzione interact
. Questo è il mio programma di esempio:Funzione interazione Haskell
main :: IO()
main = interact inputLength
inputLength :: String -> String
inputLength input = show $ length input
Compila ma durante l'esecuzione non stampa l'uscita - si limita a stampare la stringa che viene passata ad esso e si sposta alla riga successiva. Quando passo il interact
un'altra String -> String
funzione come questa:
upperCase :: String -> String
upperCase input = map toUpper input
corre ok e stampa l'argomento in maiuscolo come previsto - così che cosa c'è di sbagliato con la prima funzione?
penso 'interact' è ancora una bella modo di scrivere programmi da riga di comando che hanno lo scopo di funzionare con le pipe. Con 'IO' sono tentato di scrivere programmi non-componibili per utente. – luqui