当我尝试学习 Haskell 时,我正在尝试做一个 haskell 问题。
这个问题给了我以下类型定义:
type Word = String
type Line = [Word]
type Book = [Line]
然后问题要求我定义一个函数 index :: Word -> Book -> [Int] ,它接受一个单词和一本书,并返回单词出现的行号。例如:
index "example" [["example", "town"], ["example", "cat", "this"]] = [1,2]
到目前为止,我已经使用 zip book [1 .. length book] 将行号附加到每一行,这样我就可以
[(["example","town"],1),(["example","cat","this"],2)]
那么我将如何仅提取行号?我假设我会使用列表推导,但我不知道该怎么做。