22

我知道这听起来很简单,但我没能将两个字符串组合成一个新字符串。

来自 gtk 条目的 IO 字符串“a”由

      a <- (entryGetText text_field)

目标是将其组合为:

newstring = "文本:"+a

有什么想法可以实现吗?谢谢!

4

3 回答 3

30

使用字符串连接:

 do a <- entryGetText text_field
    let b = "Text:" ++ a
    return b

更简单地说:

 do a <- entryGetText text_field
    return $ "Text:" ++ a

你也可以玩游戏:

 ("Text:" ++) <$> (entryGetText text_field)
于 2012-05-25T14:08:53.003 回答
14

我相信在 Haskell 中,字符串连接运算符是++.

于 2012-05-25T14:07:07.167 回答
6

当您将赋值运算符x <- expr与某个 monad 一起使用时,expr :: m a它不是 an而是 an 。在您的情况下,该变量具有 type而不是,因此您可以像在纯代码中那样将其连接起来,例如.mxm aaaStringIO String"hello world " ++ a

于 2012-05-25T14:10:20.880 回答