从scala方法返回类型

时间:2017-12-12 06:14:13

标签: scala

Scala可以做这样的事吗?

def getType(name:String) = {
  name match {
    case "MyObject" => MyObject.type
    ...
    case _ => throw new Exception("Unknown")
  }
}

type o = getType("MyObject")

1 个答案:

答案 0 :(得分:1)

不,这是不可能的。它只是不符合语法:getType("MyObject")是一个表达式并计算为一个值; type o =的右侧必须是一种类型。

在Scala中,您可以在值上使用依赖类型,但只能以特定方式(路径相关类型),而这不是一个。