Sí, usa la palabra clave if
. Desde la sección Case Classes de una gira de Scala, cerca de la parte inferior:
def isIdentityFun(term: Term): Boolean = term match {
case Fun(x, Var(y)) if x == y => true
case _ => false
}
(Esto no se menciona en la página Pattern Matching, tal vez porque el Tour es una visión tan rápida.)
En Haskell, otherwise
es en realidad una variable vinculada a True
. Por lo tanto, no agrega ningún poder al concepto de coincidencia de patrones. Puede obtenerlo simplemente repitiendo su patrón inicial sin el protector:
// if this is your guarded match
case Fun(x, Var(y)) if x == y => true
// and this is your 'otherwise' match
case Fun(x, Var(y)) if true => false
// you could just write this:
case Fun(x, Var(y)) => false
¿Cuál será el 'n' en este caso y por favor dé un ejemplo de trabajo para el anterior. – Jet
@Jet 'n' será el argumento dado a la función. [Aquí] (http://ideone.com/HhSuF0) es un ejemplo del uso de la función. – sepp2k
Entendido, gracias :-) – Jet