gpt4 book ai didi

Scala Copy()奇怪的行为

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

当我使用Scala-2.8中添加的自动生成的copy()方法时,我的行为有点奇怪。

根据我的阅读,当您将给定的类声明为case类时,会为您自动生成很多东西,其中之一就是copy()方法。因此,您可以执行以下操作...

case class Number(value: Int)
val m = Number(6)

println(m) // prints 6

println( m.copy(value=7) ) // works fine, prints 7

println( m.copy(value=-7) ) // produces: error: not found: value value

println( m.copy(value=(-7)) ) // works fine, prints -7

抱歉,如果您已经提出此问题,请问这是怎么回事?

最佳答案

Scala允许许多其他语言不支持的方法名称,包括=-。您的参数被解析为value =- 7,因此它正在=-上寻找不存在的value方法。解决方法全部更改了解析表达式以拆分=-的方式。

scala> var foo = 10
foo: Int = 10

scala> foo=-7
<console>:7: error: value =- is not a member of Int
foo=-7
^

关于Scala Copy()奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4174510/

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