【发布时间】:2015-04-09 07:03:52
【问题描述】:
我已经对这个组件进行了编码,可以在不同的语言之间切换:
import scala.collection.mutable.Map
sealed trait Language
case object English extends Language {
val messages: Map[String, String] =
Map("M01" -> "Ready for cooking - press START",
"M02" -> "Close the door to start cooking")
}
case object French extends Language {
val messages: Map[String, String] =
Map("M01" -> "Pret pour la cuisson - presse START",
"M02" -> "Fermez la porte pour commencer la cuisson")
}
class Lang {
//The default Language
private var language: Language = English
def chosen(lang: Language) = language = lang
def displayMessage(msg: String) = language match {
case English => English messages msg
case French => French messages msg
}
}
我关心的是如何使用参数化来构建这样的组件,然后使用为其参数提供的不同语言对其进行配置?
【问题讨论】:
标签: scala templates generics parameters components