我正在做一个函数,它带有一个布尔函数和两个列表。它需要遍历第一个列表,以及使布尔函数true的索引返回第二个列表的相应元素。Haskell:使用列表来访问索引
例如..
filterAB (>0) [-2, -1, 0, 1, 2] [5, 2, 5, 9, 0]
将返回:
[9, 0]
我使用findIndices返回从第一个列表中选择正确的索引,使布尔函数真正的列表,以便我可以使用它们来访问第二个列表中的元素。这是我到目前为止的代码:
filterAB boolFunc listA listB = take listC listB where
listC = findIndices boolFunc listA
不幸的是,线
take listC listB
不起作用,因为取功能需要int类型的符而listC是键入[INT]
任何帮助将不胜感激!
我知道会拿不是正确的功能无论如何,我会想listB的东西! listC – Edge