Así que hoy estaba tomando una prueba de informática, y tuve que escribir una gran cantidad de declaraciones if consecutivas. Todos tenían los mismos argumentos básicos, solo que las condiciones eran diferentes. Todo esto me hizo preguntarme si en algún lugar había una declaración de cambio de argumento múltiple. Un ejemplo de lo que estoy pensando es la siguiente:Declaración de cambio de argumento múltiple
int i = 7;
switch(i > 4, i < 10) {
case T, T:
return "between 4 and 10";
case T, F:
return "greater than 10";
case F, T:
return "less than 4";
case F, F:
return "your computer's thinking is very odd";
}
En este caso, los argumentos son i > 4
y i > 10
y el T
y F
son si el argumento es verdadero o no.
Sé que este ejemplo se puede hacer fácilmente de otras maneras, pero solo estoy tratando de mostrar su uso. Y qué pasa si hay 4 argumentos, eso sería algo así como 20 si las declaraciones requieren que vuelvas a escribir las condiciones.
Entonces mi pregunta es, ¿hay algún lenguaje que haga esto? ¿O está planeado para un lenguaje futuro? ¿O existe un método aún mejor?
experimental, como Python (tuplas). –
Python no tiene interruptor. Sin embargo, la coincidencia de patrones en varios lenguajes funcionales debería ser muy similar (al menos Haskell permite 'case (p, q) of (True, True) -> x ...'). – delnan
Sí, tienes razón, solo una estructura if-elif-else que es equivalente. Supongo que hay otros que admiten tuplas en las instrucciones switch y if. –