我[(Double, Double)]
返回的列表,我想格式化並返回它像這樣String
轉換列表中包含元組格式化字符串
"(Double, Double)"
值必須轉換爲字符串上面提到行Double
。
如果在列表中有多個值,其格式應爲:
"(Double, Double), (Double, Double), ..., (Double, Double)"
我[(Double, Double)]
返回的列表,我想格式化並返回它像這樣String
轉換列表中包含元組格式化字符串
"(Double, Double)"
值必須轉換爲字符串上面提到行Double
。
如果在列表中有多個值,其格式應爲:
"(Double, Double), (Double, Double), ..., (Double, Double)"
format yourList = intercalate ", " $ map show yourList
只有一個建議:使用'intercalate',它結合了'concat'和'intersperse'。 – 2012-07-21 13:51:01
您可以使用列表的本地Show
實例:
showPairSequence :: [(Double, Double)] -> String
showPairSequence = init . tail . show
'init。 tail'?也許'showPairSequence = show'會更好? – 2012-07-21 12:24:01
@ДМИТРИЙМАЛИКОВ原始海報不需要'['或']' – alternative 2012-07-21 12:26:54
如果你實際上想打印Double
的具體數值,然後efie
給出了正確的答案。但是,如果你只想要顯示的字符串"Double"
,那麼你可以使用下面的回答:
format = intercalate ", " . map (const "(Double, Double)")
如果您的列表包含超過1元組,會發生什麼? – efie 2012-07-21 09:17:31
您可能正在尋找'f xs = map show xs',但是如果沒有更多信息很難說清楚。你可以用你期望的輸入和輸出的例子來編輯你的文章嗎?例如,你期望輸入'[(1.0,2.0),(3.5,4.5)]'是什麼輸出? – 2012-07-21 09:31:41
如果我的列表中有更多的元組,我期望'「(Double,Double),(Double,Double),...」 – MahmutBulut 2012-07-21 09:50:56