Я пытаюсь найти индекс элемента в списке кортежей с 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)
У меня проблемы с расшифровкой сообщения об ошибке, а также я не могу понять, как обойти эту ошибку. Любая помощь будет принята с благодарностью, спасибо!