【发布时间】:2022-10-10 00:34:29
【问题描述】:
我有一系列食物:
myArray :: Array Int Foo
我想使用类似于以下的功能从左到右“扫描”它:
getNextStep :: Bar -> Foo -> Bar
我想扫描 myArray 以生成 Bars 数组:
scanl :: (Bar -> Foo -> Bar) -> Bar -> Array Int Foo -> Array Int Bar
是的,这与前奏曲的scanl 非常相似。但是有数组的版本吗?我可以用例如构建一个吗?可遍历?
谢谢
【问题讨论】:
-
答案“可以吗?”问题几乎总是“是的”在编程世界中,具有不同程度的“但...”你有没有尝试过这个目标?
-
通过从和到列表(toList、fromList)的转换很容易做到。但是我很惊讶没有找到用于数组的函数
scanl,所以我想知道我是否遗漏了什么! -
可以使用
foldr或foldl在此处产生scanl的行为。
标签: haskell