gpt4 book ai didi

scala - 为什么在 Scala 中定义类型时会得到 "expected class or object definition"?

转载 作者:行者123 更新时间:2023-12-04 03:07:14 28 4
gpt4 key购买 nike

如果我写这样的东西(按照 docs 定义 Slick 表):

type UserIdentity = (String, String)
class UserIdentity(tag: Tag){
...
}

我收到一个编译错误:“预期的类或对象定义”指向 type声明。为什么?

最佳答案

您不能在类、特征或对象定义之外定义类型别名。

如果您希望在包级别使用类型别名(因此您不必显式导入它),最简单的方法是定义 package object ,它与包具有相同的名称,并允许您在其中定义任何内容,包括类型别名。

因此,如果您有 foo.bar包并且您希望添加类型别名,请执行以下操作:

package foo

package object bar {
type UserIdentity = (String, String)
}

//in another file
package foo.bar
val x: UserIdentity = ...

关于scala - 为什么在 Scala 中定义类型时会得到 "expected class or object definition"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29037972/

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