mymap f _ [] = []
mymap f x (y:ys) = f first y : mymap (f x ys)
where if x /= [] first = head(x) else --there will not be else just playing around
기본 제공지도를 구현하는 것이지만 하나의 목록 대신 f에는 2 개의 인수 (목록)가 있습니다. ys가 []가되면, mymamp를 호출하여 새로운 목록을 만들고 싶습니다. x 대신 tail (x) == xs를 사용하고 xs가 []가 될 때까지 계속하겠습니다. 그리고이 모든 목록을 최종 목록에 추가하십시오. 하지만 자동/재귀 적 방법을 찾을 수 없습니다.수표 검사 : 무한 유형을 구성 할 수 없습니다. a0 = [a0]
''zipWith'와 비슷한 것을하려고합니까? – bheklilr
구문 오류가 있습니다. 'where' 절은 정의를 포함하고 있지만 여기에'if' 표현식을 썼습니다. http://learnyouahaskell.com/ –