Scala 中定义的字符串运算符“<-”在哪里?

Ade*_*lin 1 scala intellij-idea

我是 Scala 的新手,对此我有点困惑。我使用 IntelliJ Idea。我知道 Scala 允许将特殊字符用作方法。在 IntelliJ Idea 中,Command+Click 方法或 Ctrl+Click 将您移动到定义方法的位置。但是,在 Scala 中,当我<-在 for 循环中单击时,它会将我移至:

  def foreach[U](f: Char => U): Unit = { ... } 
Run Code Online (Sandbox Code Playgroud)

虽然问题是关于这个特定的运算符,但我想知道如何找到其他运算符的定义以及为什么 IntelliJ 跳转到该foreach语句?

Jör*_*tag 5

for推导式,就像任何其他语言结构一样,在Scala 语言规范中定义。更具体地说,在第 6.19 节For Comprehensions 和 For Loops 中

特别是,左箭头<-(也可以写成?)是定义生成器的语法:

发生器 ? 从一个表达产生绑定其在对图案某种方式匹配