저는 하스켈을 매우 신중하게 생각하며 목록을 뒤집어 쓰려고합니다. 동시에 그 목록에서 목록을 뒤집고 싶습니다. 그래서 예를 들면 :하스켈의 다른 목록에서 목록 반전하기
Prelude> rev [[3,4,5],[7,5,2]]
[[2,5,7],[5,4,3]]
나는 다음과 같은 코드가리스트 반전 것을 알고있다 : 나는 잠시 동안 고전을 면치 못하고있다
rev :: [[a]] -> [[a]]
rev [[]] = [[]]
rev [[x]] = [[x]]
rev xs = last xs : reverse (init xs)
을, 나는 코드를 일부 추가을 만들었습니다하지만 여전히 작동하지 않습니다 나는 붙어있다.
rev :: [[a]] -> [[a]]
rev [[]] = [[]]
rev [[x]] = [[x]]
rev xs = last xs : reverse (init xs)
rev [xs] = last [xs] : reverse (init [xs])
어떤 도움을 주셔서 감사합니다. 미리 감사드립니다.
포인트없는, 이것은 단지'rev = reverse '입니다. map reverse' – Alec
위대한! 고맙습니다. – ZCoder
패턴 일치로'reverse'라고 쓰는 자연스러운 방법은 도우미 함수와 누적리스트를 사용하는 것입니다. 첫번째'rev ls = loop [] ls' 그리고 나서'loop acc [] = acc; 루프 acc (a : as) = 루프 (a : acc) ls' – Michael