gpt4 book ai didi

scala - Scala REPL 打印的类型是什么?

转载 作者:行者123 更新时间:2023-12-05 00:04:29 25 4
gpt4 key购买 nike

当我在 repl 中创建一个小 Map 时,它告诉我它的类型是不可变的。Map

scala> Map(1->1, 2->2)                                    
res8: scala.collection.immutable.Map[Int,Int] = Map((1,1), (2,2))

但这不是全部真相,就像在这种情况下一样
scala> Map(1->1, 2->2).getClass
res9: java.lang.Class[_] = class scala.collection.immutable.Map$Map2

Scala 如何决定将什么打印为表达式的类型?

最佳答案

简短的回答是 Scala REPL 打印结果的静态类型,正如从表达式 Map(1->1, 2->2) 推断出的那样。 , getClass 返回动态类型,可以是静态类型的子类型。

更长的答案是关于 Scala 的类型推理引擎如何工作。您可能需要阅读 Scala Language Reference 中的相关部分。 .

关于scala - Scala REPL 打印的类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5736514/

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