Haskell获取列表的第一个Char并附加到该列表的末尾

Mad*_*ote 4 haskell tail

鉴于:

mangle :: String -> String
Run Code Online (Sandbox Code Playgroud)

我想做的事情如下:

mangle xs = head xs -- works if you change typesig to [a] -> a
Run Code Online (Sandbox Code Playgroud)

但:

mangle xs = tail xs ++ head xs -- won't work at all!
Run Code Online (Sandbox Code Playgroud)

想要在该列表的末尾追加列表的第一个字符,删除第一个字符.

Mic*_*ohl 6

一个非常直接的解决方案可能如下所示:

mangle :: String -> String
mangle [] = []
mangle (x:xs) = xs ++ [x] 
Run Code Online (Sandbox Code Playgroud)