所以假设我们要生成列表[0, 1, -1, 2, -2, ...
在 haskell 。
完成此任务的最优雅方法是什么?
我想出了这个解决方案:
solution = [0] ++ foldr (\(a,b) c->a:b:c) [] zip [1..] $ map negate [1..]
但我相信一定有更好的方法。
最佳答案
这似乎是理解的目的:
solution = 0 : [y | x <- [1..], y <- [x, -x]]
关于list - 在 Haskell 中生成无限列表 [0, 1, -1, 2, -2, ...,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48129923/