【发布时间】:2017-07-19 07:27:29
【问题描述】:
为什么当我重新访问 MapValues 的结果时它会改变?它不应该是不可变的吗。
考虑以下菊石会议。
stephen@ import scala.util.Random
import scala.util.Random
stephen@ Seq("a").map(_ => Random.nextInt)
res1: Seq[Int] = List(1035918980)
stephen@ res1
res2: Seq[Int] = List(1035918980)
// re accessing Seq.map doesnt change
stephen@ Map("a" -> "a").mapValues(_ => Random.nextInt())
res3: Map[String, Int] = Map("a" -> 653125272)
stephen@ res3
res4: Map[String, Int] = Map("a" -> -694232910)
// re accessing Map.mapValues changes
【问题讨论】:
标签: scala