gpt4 book ai didi

scala - 为什么(复制)附加到 Scala 中的 Seq 被定义为 :+ and not just + as in Set and Map?

转载 作者:行者123 更新时间:2023-12-03 10:32:27 28 4
gpt4 key购买 nike

Scala 的 Map 和 Set 定义了一个 +运算符返回数据结构的副本,其中附加了一个元素。 Seq 的等效运算符表示 :+ .

这种不一致有什么原因吗?

最佳答案

Map 和 Set 没有前置 ( +: ) 或附加 ( :+ ) 的概念,因为它们没有排序。要指定您使用哪一个(附加或前置),:加入。

scala> Seq(1,2,3):+4
res0: Seq[Int] = List(1, 2, 3, 4)

scala> 1+:Seq(2,3,4)
res1: Seq[Int] = List(1, 2, 3, 4)

不要被参数的顺序弄糊涂,在 Scala 中,如果方法以: it get's applied in reverse order 结尾(不是 a.method(b) 而是 b.method(a))

关于scala - 为什么(复制)附加到 Scala 中的 Seq 被定义为 :+ and not just + as in Set and Map?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12124834/

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