パーサーコンビネーターで文字列を列挙値にマップするよりクリーンな方法はありますか?
object Mode extends Enumeration {
type Mode = Value
val View, Add, Modify, Delete = Value
}
import Mode._
object ModeParser extends JavaTokenParsers {
def mode: Parser[Mode] = ("^(" + Mode.values.mkString("|") + ")$").r ^^ {
Mode.withName(_)
}
}