我知道如何使用列表推导来做到这一点,但是如何实现一个函数,该函数将递归计算给定两组的笛卡尔积?
这就是我被困的地方(而且我是菜鸟)
crossProd :: [Int] -> [Int] -> [(Int,Int)]
crossProd xs ys | xs == [] || ys == [] = []
| otherwise = (head xs, head ys) : crossProd (tail xs) (ys)
这个输出给了我
[(1,4),(1,5),(1,6)]
如果集合是[1,2,3]
和[4,5,6]
分别.. 我将如何获得其余部分?