我想獲取一個整數列表並重復它們多次,但作爲haskell中的字符串。預期的輸出是:整數字符串列表 - haskell?
> nnn [3,1,5] = ["3-3-3","1","5-5-5-5-5"]
> nnn [10,2,4] = ["10-10-10-10-10-10-10-10-10-10","2-2","4-4-4-4"]
現在我覺得我靠近......但我不能完全把整數列表爲String,絕對不知道該怎麼辦了連字符。這裏是我的代碼,到目前爲止,輸出:
nnn :: [Int] -> [[Char]]
nnn list = map show (map (\x -> take x $ repeat x) list)
,這讓我:
> nnn [3,1,5] = ["[3,3,3]","[1]","[5,5,5,5,5]"]
(我關閉至少!)任何人都可以點我在正確的方向在這裏看? :)
'map show' first。搜索[hoogle](http://www.haskell.org/hoogle/?hoogle=a+-%3E+%5Ba%5D+-%3E+%5Ba%5D),該函數使用類型「a」將值置於其他值之間 - > [a] - > [a]',並且您發現'intersperse':「intersperse函數接受一個元素和一個列表,並在列表元素之間插入該元素,例如'intersperse','」abcde「 ==「a,b,c,d,e」'「。 '完成後'concat'。 – AndrewC