一些操作员问题

use*_*583 2 scala

我是scala的新手很抱歉,如果这很容易,但我很难找到答案.

我很难理解< - 做什么,以及什么()=>单位做什么.我对这些的理解是 - >有时在foreach中使用,而=>在地图中使用.试图谷歌"scala"< - "并不是非常有成效.我找到了http://jim-mcbeath.blogspot.com/2008/12/scala-operator-cheat-sheet.html,但它没有那么有用因为它乍一看.

val numbers = List("one", "two", "three","four","five")
def operateOnList() {
  for(number <- numbers) {
    println(number + ": came out of this crazy thing!")
  }
}

def tweener(method: () => Unit) {
  method()
}

tweener(operateOnList)
Run Code Online (Sandbox Code Playgroud)

Dav*_*vid 5

() => Unit表示该方法是一个不带参数并且不返回任何内容的函数(Unit).

<-用于理解作为一种赋值运算符.理解是有点具体的,因为它们是内部转化的.在你的情况下,那将转变为numbers.foreach(i => println(i + ": came out of this crazy thing!"))

<-在for comprehension意味着我们将迭代numbers列表的每个元素并传递给number.