web-dev-qa-db-ja.com

Haskellで2つの(IO)文字列を連結する方法は?

この音はとてもシンプルだと思いますが、2つの弦を新しいものに結合することに失敗しました。

IO gtkエントリからの文字列 "a"は、

      a <- (entryGetText text_field)

目標は、次のように組み合わせることです。

newstring = "テキスト:" + a

それを達成するためのアイデアはありますか?ありがとう!

17
user1415426

文字列連結を使用する:

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

もっと簡単に:

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

あなたもゲームをプレイすることができます:

 ("Text:" ++) <$> (entryGetText text_field)
26
Don Stewart

Haskellでは、文字列連結演算子は++

14
Puppy

代入演算子x <- exprを使用する瞬間、expr :: m amはモナドです。xm aではなくa。あなたの場合、変数aの型はStringであり、IO Stringではありません。そのため、純粋なコードで行うように、変数を連結できます。 "hello world " ++ a

6
Riccardo T.