oxb*_*kes 9 maps scala syntactic-sugar scala-collections
我刚刚发现了scala的这种语法Map(这里以可变形式使用)
val m = scala.collection.mutable.Map[String, Int]()
m("Hello") = 5
println(m) //PRINTS Map(Hello -> 5)
Run Code Online (Sandbox Code Playgroud)
现在我不确定这是否是语言中内置的语法糖,或者这里是否有更基本的东西涉及地图扩展的事实PartialFunction.谁能解释一下?
sta*_*lue 14
如果你的意思是(如果你能更明确的话会很好)
m("Hello") = 5
Run Code Online (Sandbox Code Playgroud)
那意味着语法糖
m.update("Hello", 5)
Run Code Online (Sandbox Code Playgroud)
独立于m是什么.这类似于
m("Hello")
Run Code Online (Sandbox Code Playgroud)
这是语法糖
m.apply("Hello")
Run Code Online (Sandbox Code Playgroud)
(我只是阅读"Scala编程".)
@starblue是正确的.需要注意的是,你还可以做颇具创意的东西update比如返回值等比分配.例如:
val a = Map(1 -> "one") // an immutable Map[Int, String]
val b = a(2) = "two"
val c = b(5) = "five"
val d = c(1) = "uno"
d == Map(1 -> "uno", 2 -> "two", 5 -> "five") // => true
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为immutable.Map#update返回新的实例Map.C训练的眼睛看起来有点奇怪,但你已经习惯了.
| 归档时间: |
|
| 查看次数: |
11550 次 |
| 最近记录: |