Je connais ce son très simple, mais je n'ai pas réussi à combiner deux cordes en une nouvelle.
La chaîne IO "a" d'une entrée gtk est récupérée par
a <- (entryGetText text_field)
Le but est de le combiner comme:
newstring = "Texte:" + a
Des idées pour y arriver? Merci!
Utilisation de la concaténation de chaînes:
do a <- entryGetText text_field
let b = "Text:" ++ a
return b
Plus simplement:
do a <- entryGetText text_field
return $ "Text:" ++ a
Vous pouvez également jouer à des jeux:
("Text:" ++) <$> (entryGetText text_field)
Je crois que dans Haskell, l'opérateur de concaténation de chaînes est ++
.
Au moment même où vous utilisez l'opérateur d'affectation x <- expr
avec expr :: m a
et m
étant une monade, x
n'est pas un m a
mais plutôt un a
. Dans votre cas, la variable a
a le type String
et non IO String
, vous pouvez donc le concaténer comme vous le feriez en code pur, par exemple "hello world " ++ a
.