gpt4 book ai didi

scala - 一个参数的默认值如何引用另一个参数?

转载 作者:行者123 更新时间:2023-12-03 23:14:19 25 4
gpt4 key购买 nike

一个参数的默认值如何引用另一个参数?如果不能,如何解决?

case class A(val x:Int, val y:Int = x*2)

错误(足够合理):
scala> case class B(val x:Int, val y:Int = x*2)
<console>:7: error: not found: value x
case class B(val x:Int, val y:Int = x*2)
^

最佳答案

这要求您使用多个参数列表:

case class A(x: Int)(y: Int = x*2)

默认值只能引用前面列表中的参数。

但是要小心 case 类,因为它们的相等性只考虑第一个参数列表,因此:
A(1)() == A(1)(3)  // --> true!!

关于scala - 一个参数的默认值如何引用另一个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17125733/

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