4
嘿,我是遊蕩,如果有可能顯示一個列表:以不同的方式顯示一個列表Haskell?
["one", "two", "three"]
被顯示爲
"one", "two", "three"
需要它的一個文件來完成
感謝
嘿,我是遊蕩,如果有可能顯示一個列表:以不同的方式顯示一個列表Haskell?
["one", "two", "three"]
被顯示爲
"one", "two", "three"
需要它的一個文件來完成
感謝
你可以用intercalate
從Data.List
showList :: Show a => [a] -> String
showList = intercalate ", " . map show
的map show
每個元素轉換成與引號它的字符串表示(和任何內部引號正確轉義),而件和膠它們之間插入intercalate ", "
逗號和空格在一起。
當我這樣做,我得到「\」一個\「,\」兩個\「」.... – Tom 2011-04-29 09:24:11
@Tom:這就是解釋器如何顯示結果字符串給你。嘗試使用'putStrLn(showList [「one」,「two」,「three」])來代替打印。爲了便於比較,請參閱只輸入'「hello」'和'putStrLn「hello」'之間的區別。 – hammar 2011-04-29 09:25:56
@nanothief:在這裏使用'show'來產生內部引號。混淆的產生是因爲解釋者在結果上調用'show' _again_來顯示它。 – hammar 2011-04-29 09:48:34