gpt4 book ai didi

scala - scala-方法::如何在List中工作?

转载 作者:行者123 更新时间:2023-12-04 13:26:55 25 4
gpt4 key购买 nike

我注意到List类定义了::方法,该方法在列表的开头添加了一个元素

def ::(x: A): List[A]

例子:
1 :: List(2, 3) = List(2, 3).::(1) = List(1, 2, 3)

但是,我对scala编译器如何识别这种转换感到困惑?因为就我而言,
1 :: List(2,3)

应该提出一个 error: :: is not a member of Int
我是否会错过有关scala的运算符定义的知识?

最佳答案

使用中缀运算符表示法调用时Methods whose names end with : are right-associative。 IE。

a foo_: b

是相同的
b.foo_:(a)

此规则专门针对此类方法而存在,此类方法通常(在其他语言,例如Haskell和ML中)是运算符,例如 :::

关于scala - scala-方法::如何在List中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28515552/

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