"< - "在列表理解中意味着什么?

Ant*_*ing -2 string haskell list-comprehension variable-assignment operator-keyword

在这段代码中:

[x | temp <- str, x <- isVowel temp]
Run Code Online (Sandbox Code Playgroud)

我想知道是什么

  • <- 运营商
  • <- str 运营商

isVowel 如果其参数是元音,则返回true.

Mat*_*ick 6

你是对的,<-有点像任务.

有关更多信息,这里是学习列表推导的绝佳资源.

列表理解与集合理解非常相似.我们现在坚持获得前10个偶数.我们可以使用的列表理解是[x*2 | x < - [1..10]].x是从[1..10]绘制的,对于[1..10]中的每个元素(我们已经绑定到x),我们得到的元素只加倍.

然而,这不是全部故事:

  • <-也用于表示法:

    在do表达式中,每一行都是monadic值.为了检查其结果,我们使用"< - ".

  • <-甚至用于monad理解(虽然这没有用,因为Monad理解不再是标准的Haskell,我相信)