我有了一些瓦爾斯給它的課,我需要的是基於在模式字符串匹配到現場
case class AThing(name: String, description: String)
object AThing {
val FIRST_THING = AThing("FIRST_THING", "A first thing desc")
val SECOND_THING = AThing("SECOND_THING", "A second thing desc")
val THIRD_THING = AThing("THIRD_THING", "A third thing desc")
}
現在通過字符串返回丘壑的功能,我有以下解決方案:
def get(name: String): AThing = {
name match {
case "FIRST_THING" => FIRST_THING
case "SECOND_THING" => SECOND_THING
case "THIRD_THING" => THIRD_THING
}
}
是否有這更好的方式。我發誓,我記得看到沿此線的東西:
def get(name: String): AThing = {
name match {
case `name` => AThing.`name`
// OR
case `name` => AThing.{{name}}
}
}
謝謝。
第二種方法在這裏並不適用。我認爲按名稱查找'AThing'的唯一方法是在'List'中使用val並使用'find'。 –