gpt4 book ai didi

具有默认 arg 引用另一个 arg 的 Scala 构造函数

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

我想让第二个构造函数参数可选,并在这种情况下使用第一个参数的值。有什么办法可以做到吗?此代码无法编译,因为它找不到 realUser :

class CurrentUser(val realUser:String, val masqueradeUser:String = realUser)

我确信我可以通过编写自己的构造函数来解决它,但我想知道是否有更简洁的方法。实际上,现在我已经尝试编写自己的构造函数,它还不错:
class CurrentUser(val realUser:String, val masqueradeUser:String) {
def this(realUser:String) = this(realUser, realUser)
}

如果有人能想出更短的东西那就太好了,否则我会发布我自己的答案。

最佳答案

我相信您使用辅助构造函数的解决方案是更好的解决方案。参数在其自己的参数列表中不可见,仅在以下参数列表中可见。所以你必须做

class CurrentUser(val realUser: String)(val masqueradeUser: String = realUser)

然后调用
new CurrentUser(real)()

不太好。

关于具有默认 arg 引用另一个 arg 的 Scala 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7834431/

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