Je sais que cela fonctionne:HASKELL --- L'utilisation de "laisser" dans un "do" syntaxe dans GHCi
do name <- getLine; let nameTag = "Hello, my name is " ++ name in putStrLn nameTag
Outre ce morceau de code lorsqu'il est chargé dans GHCi:
hey = do
name <- getLine
let nameTag = "Hello, my name is " ++ name
putStrLn nameTag
mais cela ne fonctionne pas:
do name <- getLine; let nameTag = "Hello, my name is " ++ name; putStrLn nameTag
donnant le message d'erreur suivant:
<interactive>:142:82:
parse error (possibly incorrect indentation or mismatched brackets)
Pourquoi cela ne fonctionne-t-il pas? Puis-je le faire fonctionner? Si oui, alors comment?
Veuillez formater votre code. –
Le problème est que l'analyseur pense que la structure de votre code est 'let {nameTag = ...; putStrLn nameTag} 'où il attend une affectation au lieu de' putStrLn nameTag'. – Bakuriu