【发布时间】:2020-08-09 07:59:08
【问题描述】:
我正在尝试使用 Haskell 查找元组列表中元素的索引,并使用通配符。
我已经调整了我的类型以使其更易于解释。目前我的思路是使用elemIndex。
例如,
> elemIndex 2 [1,2,3,4,5]
Just 1
但就我而言,我有一个元组列表,如下所示:
> elemIndex (2, 20) [(1, 10),(2, 20),(3, 30),(4, 40),(5,50)]
Just 1
我希望能够只提供元组的第一部分并获取索引,例如:
> elemIndex (2, _) [(1, 10),(2, 20),(3, 30),(4, 40),(5,50)]
Just 1
但我得到的结果是这样的:
<interactive>:58:15: error:
• Found hole: _ :: Integer
• In the expression: _
In the first argument of ‘elemIndex’, namely ‘(2, _)’
In the expression:
elemIndex (2, _) [(1, 10), (2, 20), (3, 30), (4, 40), ....]
• Relevant bindings include
it :: Maybe Int (bound at <interactive>:58:1)
我在解读错误消息时遇到问题,也无法弄清楚如何解决该错误。 任何帮助将不胜感激,谢谢!
【问题讨论】:
-
_不是通配符。如果您在表达式中使用它(如在不是模式中),它是一个类型空洞,这通常用于给出“提示”要填充的类型。
标签: list haskell indexing tuples element