[英]How to concat two (IO) Strings in Haskell?
我知道這聽起來非常簡單,但我沒能將兩個字符串組合成一個新字符串。
來自gtk條目的IO字符串“a”由提取
a <- (entryGetText text_field)
目標是結合它:
newstring =“文字:”+ a
有什么想法可以實現嗎? 謝謝!
使用字符串連接:
do a <- entryGetText text_field
let b = "Text:" ++ a
return b
更簡單:
do a <- entryGetText text_field
return $ "Text:" ++ a
你也可以玩游戲:
("Text:" ++) <$> (entryGetText text_field)
我相信在Haskell中,字符串連接運算符是++
。
當你使用賦值運算符x <- expr
與expr :: ma
並且m
是一些monad時, x
不是ma
而是a
。 在您的情況下,變量a
具有String
類型而不是IO String
,因此您可以像在純代碼中那樣連接它,例如"hello world " ++ a
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.