我正在寻找一种方法,当输入 a 时Char,该函数可以匹配列表,例如"QAZXSWEDCVFRTGBNHYUJMKIOPL",然后返回匹配的索引
例如,当 input 时'S',它可以找到'S'列表中的第 5 个元素,然后返回整数4(以 开头0)。
您正在寻找以下功能elemIndex:Data.List
elemIndex :: Eq a => a -> [a] -> Maybe Int
-- Example
main = do
let i = elemIndex 'S' "QZAXSWED"
case i of
Just idx -> print idx
Nothing -> putStrLn "'S' not found in list"
还有一个函数elemIndices可以返回列表中元素的所有索引,但运行时间会更长,因为它每次都必须扫描整个列表。
Prelude Data.List> elemIndex 'S' "QAZXSWEDCVFRTGBNHYUJMKIOPL"
Just 4