gpt4 book ai didi

Scala:理解::: 运算符

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

list1::: list2 运算符应用于两个列表是否相当于将 list1 的所有内容附加到 list2

scala> val a = List(1,2,3)
a: List[Int] = List(1, 2, 3)

scala> val b = List(4,5,6)
b: List[Int] = List(4, 5, 6)

scala> a:::b
res0: List[Int] = List(1, 2, 3, 4, 5, 6)

这个运算符还有其他用途吗?我在 Scala 文档中找不到 ::: 的任何内容,并且想知道其正式名称和用途的范围。

最佳答案

是的,它只是列表连接运算符。它们是 nil 终止的链表,因此从概念上讲,它真正要做的就是获取第一个列表的最后一个 cons 单元并将其指向第二个列表的头部而不是 Nil。

如果您愿意,还可以使用更通用的++ 运算符来代替:::。最终结果是相同的,但从技术上讲,您正在对不同的对象进行调用。以 a : 结尾的运算符在 Scala 中是右关联的,因此使用 a++ b 与 a.++(b) 相同或基本上是 a.append(b),而不是 a::: b 右关联被转换为 b .:::(a) 可以读作 b.prepend(a)。

关于Scala:理解::: 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26374952/

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