chr*_*her 1 lambda haskell type-mismatch map-function
我想通过map向量列表上的 a应用 lambda 函数,并能够从结果中获取布尔值列表,然后比较布尔值列表中的所有元素
lambda = (\ list x -> distance (x (5,5)) < 10)
[(0,1),(1,6),(15,36)] ->
Run Code Online (Sandbox Code Playgroud)
在每个元素上应用 lambda,这将给出 :[True, True, False]
然后检查是否所有元素都是True
我试图这样做
checkConvergence :: [Vector] -> Vector -> Bool
checkConvergence list y = map (\ list x -> distance (x y) < 10) list
Run Code Online (Sandbox Code Playgroud)
但我得到了这个:
Run Code Online (Sandbox Code Playgroud)Couldn't match expected type ‘Bool’ with actual type [(Vector -> Vector) -> Bool]
三个问题:
\ x ->而不是\ list x ->.map会给你一个Bools列表。如果你想知道它们是否都是真的,那么你需要要么使用all,要么将结果包装在and.Vector是某些奇怪函数类型的别名,否则您可能指的是distance x y或distance (x,y)而不是distance (x y).| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |