gpt4 book ai didi

scala - 如何从特征中获取常量值?

转载 作者:行者123 更新时间:2023-12-01 12:45:29 25 4
gpt4 key购买 nike

我用常量定义了一个特征 RequireLogin:

trait RequireLogin {
val message = "you should login"
if(sessionUser.isEmpty) {
Global.error(message)
throw new RedirectException("/login", message);
}
}

现在在我的测试中,我创建了一个具有此特征的对象,并测试 Global.error() 是否等于 RequireLogin.message

try {
new Object with RequireLogin
} catch {
case _: RedirectException =>
}
Global.error should be === RequireLogin.message // !!! can't be compiled

但是无法编译。

有没有办法从特征中获取常量?或者如何重构我的代码以使其变得更好?

最佳答案

想到的是定义一个持有常量的伴生对象:

object RequireLogin {
val message = "you should login"
}

不确定这是否是您要找的东西,但我认为如果不使用反射,您将无法从特征本身中获取值(value)。

关于scala - 如何从特征中获取常量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16413523/

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