我可以理解scala中的apply
方法,它基本上是将一个函数应用于一个值。在很多情况下,这被用作构造函数的一种形式。了解scala中的更新方法
我们假设list
是一张地图。一个例子是def apply(id : Int) = list(id)
,它从列表中获得给定的元素。
我也遇到了更新方法的例子作为
def update(id:Int,name:String) = list = list + (id -> name)
。
我可以理解这是什么,即它更新/添加列表中的键值对。我不明白的是该方法包含两个=
符号,一个在方法定义之后,另一个在列表之后定义该方法实际执行的操作list + (id -> name)
。
两个=
标志需要什么?彼此有什么不同?我知道=
签名后方法体开始,但这是令人困惑的。
所以它只是一个速记符号?这是新的。感谢您指出。在文档中有没有任何特定的名称? –
我没有链接,也许我会稍后再搜索它。但是,是的,这是速记符号。对于方法和值,您可以交换使用两个版本。就像你可以有一个'def foo()= 42'方法一样,你也可以有一个值'val myInteger = {doSomeStuff(); 42}'(最后计算的值将被分配) – slouc
http://docs.scala-lang.org/style/declarations.html#body – chunjef