Escala para bucle | For Loop en Scala: Explicación
Publicado: 2021-02-19En Scala, un bucle for también se conoce como comprensiones for . Se puede usar para iterar, filtrar y devolver una colección ensayada. El for-comprehension se parece bastante a un for-loop en lenguajes imperativos; sin embargo, la diferencia es que arma una lista de los resultados de las aliteraciones.
Hay varias formas de for-loop en Scala , que se describen a continuación:
Tabla de contenido
For-Loop con rangos
Sintaxis
La sintaxis más sencilla de un bucle for con rangos en Scala es la que se muestra a continuación:
for( var x <- Rango ){
declaraciones);
}
Como se muestra arriba, el Rango podría ser cualquier rango de números, representado como i a j o, a veces, como i hasta j . El operador de flecha izquierda ← se conoce como generador porque genera valores individuales a partir de un rango.
Alternativamente, también se puede usar la sintaxis:
para(w <- rango){
// Código..
}
Aquí, w es una variable, el signo de flecha izquierda ← operador es el generador, y el rango es el valor que contiene los valores inicial y final. El rango se representa usando i a j o i hasta j.
Ejemplo de Scala For-Loop usando la palabra clave 'to'
El uso de 'to' con for-loop incluye tanto el valor inicial como el final. En el ejemplo que se muestra a continuación, podemos usar 'to' para imprimir valores entre 0 y n. En otras palabras, el bucle comienza en 0 y termina en 10, lo que significa que podemos imprimir los números de página del 0 al 10.
// Programa Scala para ilustrar cómo
// crea un bucle for usando to
objeto principal
{
def principal(argumentos: Matriz[Cadena])
{
println(“El valor de w es:”);
// Aquí, el ciclo for comienza desde 0
// y termina a las 10
para (w <- 0 a 10)
{
imprimir(w);
}
}
}
Producción:
En el ejemplo que se muestra arriba, el valor de w es:
0
1
2
3
4
5
6
7
8
9
10
Leer: Las 10 habilidades principales para convertirse en un desarrollador de pila completa
Ejemplo de Scala For-Loop usando la palabra clave 'until'
La diferencia entre usar hasta y hasta es; to incluye los valores inicial y final dados en un rango, mientras que before excluye el último valor del rango dado. En el ejemplo de bucle for ilustrado a continuación, podemos usar hasta para imprimir valores entre 0 y n-1. En otras palabras, el bucle comienza en 0 y termina en n-1, lo que da como resultado 9. Entonces, podemos imprimir los números de página del 0 al 9.
// Programa Scala para ilustrar cómo
// crear bucle for usando hasta
objeto principal
{
def principal(argumentos: Matriz[Cadena])
{
println(“El valor de w es:”);
// Aquí, el ciclo for comienza desde 0
// y termina a las 10
para( w <- 0 hasta 10)
{
imprimir(w);
}
}
}
Producción:
En el ejemplo que se muestra arriba, el valor de w es:
0
1
2
3
4
5
6
7
8
9
Lea también: Python vs Scala
Múltiples valores en For-Loop
También podemos usar múltiples rangos en un solo bucle for . Estos rangos se separan mediante un punto y coma (;). Entendamos esto con la ayuda de una ilustración. En el ejemplo que se da a continuación, hemos usado dos rangos diferentes en un solo bucle, es decir, w <- 0 a 3; z <- 8 hasta 10.
// Programa Scala para ilustrar cómo
// crea múltiples rangos en el bucle for
objeto principal
{
def principal(argumentos: Matriz[Cadena])
{
// bucle for con múltiples rangos
para( w <- 0 a 3; z<- 8 hasta 10 )
{
println(“Valor de w es:” +w);
println(“El valor de y es:” +z);
}
}
}
Producción:
El valor de w es: 0
El valor de y es: 8
El valor de w es: 0
El valor de y es: 9
El valor de w es: 1
El valor de y es: 8
El valor de w es: 1
El valor de y es: 9
El valor de w es: 2
El valor de y es: 8
El valor de w es: 2
El valor de y es: 9
El valor de w es: 3
El valor de y es: 8
El valor de w es: 3
El valor de y es: 9
Pago: salario de desarrollador de pila completa en la India
For-Loop con colecciones
En Scala, podemos usar for-loop para iterar de manera eficiente colecciones como listas, secuencias, etc., ya sea usando un bucle for-each o un bucle for-comprehensions . La sintaxis de un bucle for con colecciones en Scala es la siguiente:
Sintaxis
for( var x <- Lista ){
declaraciones);
}
Aquí, la lista de variables es un tipo de colección con una lista de elementos y un ciclo for itera a través de todos los elementos que devuelven un elemento en x variable a la vez.
Veamos el programa de demostración que se muestra a continuación para comprender un ciclo for con colecciones . En la ilustración, hemos creado una colección utilizando la variable Lista para enumerar los autores en función de sus rangos.
// Programa Scala para ilustrar cómo
// usar bucle for con colección
objeto principal
{
def principal(argumentos: Matriz[Cadena])
{
var rango = 0;
val ranklist = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// Bucle for con colección
for( rango <- lista de rangos){
println(“El rango del autor es: ” +rango);
}
}
}
Producción:
El rango del autor es: 1
El rango del autor es: 2
El rango del autor es: 3
El rango del autor es: 4
El rango del autor es: 5
El rango del autor es: 6
El rango del autor es: 7
El rango del autor es: 8
La clasificación del autor es: 9
El rango del autor es: 10
For-Loop con filtros
For-loop en Scala le permite filtrar elementos de una colección dada usando una o más declaraciones if en for-loop . Los usuarios también pueden agregar más de un filtro a una expresión 'for' usando punto y coma (;) para separarlos. A continuación se muestra la sintaxis para for-loop con filtros .
Sintaxis
for( var x <- Lista
si condición1; si condición2…
){
declaraciones);
}
Entendamos esto mejor con la ayuda de un ejemplo. La ilustración que se muestra a continuación utiliza dos filtros para segregar la colección dada. Por ejemplo, en el ejemplo a continuación, los filtros eliminan la lista de autores con rangos mayores a 2 y menores a 7.
// Programa Scala para ilustrar cómo
// usar bucle for con filtros
objeto principal
{
def principal(argumentos: Matriz[Cadena])
{
var rango = 0;
val ranklist = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// Bucle for con filtros
for( rango <- lista de rangos
si rango < 7; si rango > 2)
{
println(“El rango del autor es: ” +rango);
}
}
}
Producción:
El rango del autor es: 3
El rango del autor es: 4
El rango del autor es: 5
El rango del autor es: 6
For-Loop con rendimiento
En Scala, el valor de retorno del ciclo se almacena en una variable o puede regresar a través de una función. Para hacer esto, debe prefijar el cuerpo de la expresión 'for' con la palabra clave yield . A continuación se muestra la sintaxis para for-loop con yield .
Sintaxis
var retVal = for{ var x <- Lista
si condición1; si condición2…
}
rendimiento x
Nota : las llaves enumeran las variables y las condiciones, y retVal es una variable donde todos los valores de x se almacenarán en forma de colección.
Entendamos esto mejor con la ayuda de una ilustración. En el ejemplo que se muestra a continuación, la salida es una variable en la que todos los valores de rango se almacenan en forma de colección. El bucle for muestra solo la lista de autores cuyo rango es mayor que 4 y menor que 8.
// Programa Scala para ilustrar cómo
// usar bucle for con rendimientos
objeto principal
{
def principal(argumentos: Matriz[Cadena])
{
var rango = 0;
val ranklist = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// Bucle for con rendimientos
var salida = for{ rango <- lista de rangos
si rango > 4; si rango != 8 }
rango de rendimiento
// Mostrar resultado
para (rango <- salida)
{
println(“El rango del autor es: ” + rango);
}
}
}
Producción:
El rango del autor es: 5
El rango del autor es: 6
El rango del autor es: 7
La clasificación del autor es: 9
El rango del autor es: 10
Aprenda cursos de desarrollo de software en línea de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
Conclusión
Si está interesado en obtener más información sobre el desarrollo de software de pila completa, consulte el programa Executive PG de upGrad & IIIT-B en desarrollo de software de pila completa, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de capacitación rigurosa, más de 9 proyectos, y asignaciones, estado de ex alumnos de IIIT-B, proyectos finales prácticos y asistencia laboral con las mejores empresas.
¿Qué es el lenguaje de programación Scala?
Scala es un lenguaje de programación de propósito general diseñado para expresar patrones de programación comunes de una manera concisa, elegante y segura. Es un lenguaje híbrido funcional y orientado a objetos, admite construcciones de programación funcional como funciones de orden superior y evaluación diferida, pero también tiene características de un lenguaje orientado a objetos como clases, objetos literales e inferencia de tipos. Scala es uno de los lenguajes más destacados diseñado para Java Virtual Machine (JVM), pero también se puede compilar en código fuente de JavaScript o usar .NET Common Language Runtime (CLR).
¿Qué son los bucles en programación?
Los bucles son sentencias de programación que repiten un bloque de sentencias otro número de veces (un número entero). Hay dos tipos de bucles: for y while. Un bucle repite un bloque de código hasta que se cumple una determinada condición. Puede utilizar un bucle para realizar la misma tarea una y otra vez hasta que se cumplan los criterios especificados. Hay varios tipos de bucles, como: bucle for, bucle while, bucle do while y bucle foreach. Cada uno de estos tipos tiene sus propias ventajas y casos de uso. Por ejemplo, si desea recorrer una matriz un número fijo de veces, puede usar bucles for. Si desea realizar un bucle en función de una condición, puede utilizar bucles while. Si desea acceder a elementos de una matriz, puede usar bucles foreach.
¿Cuál es el futuro del lenguaje Scala?
Scala es un lenguaje de programación de propósito general que incorpora principios de programación funcional. Es independiente de la plataforma. Scala es un lenguaje tipificado estáticamente con inferencia de tipos. También permite que el código se escriba en un estilo orientado a objetos. Scala tiene ricas bibliotecas y es conciso en la codificación. Estos factores hacen de Scala un lenguaje de programación muy popular. Si eres un programador de Java, entonces puedes usar Scala más fácilmente. Si no es un programador de Java y aún desea usar Scala, puede usar el sistema de interpretación de Scala. Scala tiene una comunidad de rápido crecimiento y llegar al primer puesto en el ranking ya no es cuestión de tiempo.