Sto solo esplorando la scala. Esiste un modo più succinto e / o più idiomatico di scrivere il seguente codice?
def getValToAdd(c: Char): Int = {
if ("(" == c) {
1
} else if (")" == c) {
-1
} else {
0
}
}
risposte:
4 per risposta № 1Puoi rimuovere tutte le parentesi graffe, sono "ridondanti:
def getValToAdd(c: Char): Int =
if ("(" == c) 1
else if (")" == c) -1
else 0
Ma è un modo molto più idiomatico di usare Pattern Matching
def getValToAdd(c: Char): Int = c match {
case "(" => 1
case ")" => -1
case _ => 0
}
Puoi anche eliminare il tipo restituito, il compilatore può risolverlo:
def getValToAdd(c: Char) = c match {
case "(" => 1
case ")" => -1
case _ => 0
}
Ma non lo consiglierei a meno che questo non sia un metodo di utilità privato.
0 per risposta № 2
def getValToAdd(c: Char): Int = c match {
case "(" => 1
case ")" => -1
case _ => 0
}