Haskell中的双重惊叹号

Buf*_*lls 23 haskell

我有这个代码:

ghci>let listOfFuns = map (*) [0..]
ghci>(listOfFuns !! 4) 5
20
Run Code Online (Sandbox Code Playgroud)
  1. 这是什么!! 意思?

    我看到了关于这样的双重惊叹的例子:

    ghci> [1,2,3,4] !! 1 ghci> 2

但似乎不适用于我的问题例子.

  1. 如何理解这个功能.需要解释.

ick*_*fay 44

!!索引列表.它需要一个列表和一个索引,并返回该索引处的项目.如果索引超出范围,则返回⊥.

  • 在ghci中,键入`:t(!!)`以获取其类型,该类型可能沿着[[a] - > Int - > a`的行.由此可以很容易地推断出它基于第二个参数提取列表中的一个元素. (14认同)