【发布时间】:2016-01-23 06:51:57
【问题描述】:
我知道map("key") 是可能的,因为Map 实现了Function1。但是map("key") = "value" 是如何转换为map.update("key", "value") 的呢?我没有看到在 Map 或其父接口中的任何地方定义了 = 函数
【问题讨论】:
我知道map("key") 是可能的,因为Map 实现了Function1。但是map("key") = "value" 是如何转换为map.update("key", "value") 的呢?我没有看到在 Map 或其父接口中的任何地方定义了 = 函数
【问题讨论】:
这种翻译只是在 Scala 编译器中作为规则实现。见Scala Language Specification:
赋值 f(args) = e 左边有一个函数应用 ‘=’ 运算符被解释为 f.update(args, e),即 调用由 f 定义的更新函数。
【讨论】: