比较两个具有其他含义的字符串

Moj*_*ojo 2 scala

由于字符串的含义,我在比较字符串时遇到了很大的问题。例如,我有“ Yellow”之类的字符串和“ Blue”之类的字符串。在我的应用程序中,黄色小于蓝色。那么我如何建模呢?我试图像这样使用枚举

object Color extends Enumeration {
 val yellow = Value(0)
 val blue  = Value(1)
}
Run Code Online (Sandbox Code Playgroud)

在我的职能中

def isBigger(color1 : String, color2 : String) = Boolean = {
???
}
Run Code Online (Sandbox Code Playgroud)

但是我不希望如何比较它们。请一些建议。

muk*_*210 6

You can convert String to Color value using withName, and then compare them:

object Color extends Enumeration {
 val yellow = Value(0)
 val blue  = Value(1)
}
def isBigger(color1 : String, color2 : String) : Boolean = 
     Color.withName(color1) < Color.withName(color2)

println(isBigger("blue", "yellow"))  //false
println(isBigger("yellow", "blue"))  //true
Run Code Online (Sandbox Code Playgroud)