我想做一个方法,我可以给它一个长度列表,它会返回笛卡尔坐标的所有组合,直到这些长度。举个例子更容易解释:
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在许多问题上的简单性,但这是一个我可以在5分钟内(用C或