Scala可以做这样的事吗?
def getType(name:String) = {
name match {
case "MyObject" => MyObject.type
...
case _ => throw new Exception("Unknown")
}
}
type o = getType("MyObject")
答案 0 :(得分:1)
不,这是不可能的。它只是不符合语法:getType("MyObject")
是一个表达式并计算为一个值; type o =
的右侧必须是一种类型。
在Scala中,您可以在值上使用依赖类型,但只能以特定方式(路径相关类型),而这不是一个。