gpt4 book ai didi

scala - 副作用 mutable.Map scala

转载 作者:行者123 更新时间:2023-12-01 01:21:51 26 4
gpt4 key购买 nike

当我尝试在可变 Map 中插入一个元素时,我希望这个元素插入到我的 Map 而不是返回 Map(如 PF,不可变对象(immutable对象) ecc ...)出于这个原因,我使用了可变集合,但在我的 map 中,“a”不可能插入元素(副作用),但此更新仅在返回类型中,e 不在 a 中。为什么?如何在我的 map a 中插入新元素 (x -> y)??

def a = scala.collection.mutable.map[Int,Int]()

def x = 5
def y = 6

a+= (x -> y)

println(a.size) // print 0

最佳答案

那是因为你将a定义为def,意思是一个方法。这意味着每次调用 a 时,都会返回可变映射的一个新实例。你想要的是一个val:

@ val a = mutable.Map[Int, Int]()
a: mutable.Map[Int, Int] = Map()

@ a += (5 -> 6)
res2: mutable.Map[Int, Int] = Map(5 -> 6)

关于scala - 副作用 mutable.Map scala,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57198703/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com