길이의 목록을 제공 할 수있는 방법을 만들고 싶습니다. 그리고 그 길이까지 직교 좌표의 모든 조합을 반환합니다. 예제로 설명하기가 더 쉽습니다.Haskell리스트의 중첩 된 직교 좌표계
cart [2,5]
Prelude> [ [0,0],[0,1],[0,2],[0,3],[0,4],[1,0],[1,1],[1,2],[1,3],[1,4] ]
cart [2,2,2]
Prelude> [ [0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1] ]
목록이 얼마나 오래 지속될 지 모르기 때문에 간단한 목록 이해가 작동하지 않습니다. Haskell이 많은 문제에 대해 단순함을 좋아하는 동안, 이것은 Haskell이 나에게 동맥류를 제공하는 반면 5 분 안에 절차 적으로 (C 또는 무언가로) 작성할 수있는 것입니다!
이 특정 문제에 대한 해결책은 많은 도움이 될 것입니다. 나는 또한 이와 같은 문제를 다룰 때 당신의 생각 과정에 대해 듣고 싶다.
와우, 감사합니다. 케니와 데이브. 나는 목록 이해력 정의에 재귀 호출을 던지려고 생각하지 않았다. 매우 멋지다. 지도와 폴드를 사용하는 버전은 훌륭합니다. 나는 고차원 함수를 사용하여 길을 생각할 수 있기 때문에 이것을 공부하는 좋은 예가된다! – cspyr0
고차 함수를 사용하는 한, 그것이 이상하지 않아야한다는 것을 알고 있어야합니다. 올바른 함수를 사용하는 것이 도움이된다면, '시퀀스'가 여기에 필요합니다. – yairchu
간결하고 명확한 솔루션과 나를 소개해 주신 yairchu에게 감사드립니다. 이게 없으면 내가 어떻게 된거야? – cspyr0