Sintaxis de la palabra clave implícitamente en Scala en Ubuntu 20.04
Para construir ejemplos explícitos y concretos de disponibilidad de tipos, se incluye un método de utilidad en la biblioteca estándar de Scala. Además, implícito es el nombre del método. Tenga en cuenta que Scala versión 2.8 se introduce implícitamente, que se describe en predef como:
Def implícitamente [t] (implícito e: t) = eEjemplo # 1: Programa de palabras clave implícitamente Scala en Ubuntu 20.04
Aquí hay una breve ilustración de la presentación de Retrónicos:
Al modo SCALA REPL, hemos llamado a la variable "X" con una palabra clave implícita y la inicializamos con la cadena. Hemos especificado un valor implícito de la cadena escrita. El tipo se devuelve cuando se ejecuta la línea de código. Después de eso, buscamos el valor implícito de la cadena escrita al pasarlo en la función implícitamente y luego lo asignamos a la variable "y". El compilador devolvió el valor de la "demostración" de cadena mientras almacenaba este valor. A continuación, encontramos el valor implícito del tipo "int" y lo establecemos dentro de la variable "z". En la compilación, genera un error "no pudo encontrar el valor implícito para el parámetro int".
Ejemplo # 2: Programa de comprender y resolver un problema de vistas implícitas en Scala en Ubuntu 20.04
Cuando el prefijo de una selección (por ejemplo, el.prefijo.La selección (args) no tiene una selección de miembros aplicable a los args) está vacía, se puede activar una visión implícita (incluso después de intentar convertir los argumentos utilizando las opiniones implícitas). Cuando esto sucede, el compilador busca miembros implícitos que sean similares a los métodos o funciones implícitas de un tipo con una selección que se declara, establecida localmente en la corriente o los ámbitos que están encerrados, heredados o importados.
Aquí, hemos pasado el valor "3" dentro del 1.min () como "int" no tiene definición de min. El tipo de resultado int genera el valor "1". Luego, hemos utilizado la palabra clave implícitamente para el int, que tiene la definición min. Devolvió el tipo implícito "int" como . Después de eso, hemos ejecutado el res2 (1), que ubicará el valor implícito presente en la definición de cualquierref. Al final, usamos el .Método GetClass, que devolvió el Scala.tiempo de ejecución.Clase de Richint.
Además, cuando una expresión se desvía del tipo esperado, se pueden activar vistas implícitas, como se muestra a continuación:
Hemos asignado el Scala.tiempo de ejecución.Declaración de Richint al valor "1" que en la ejecución proporcionó el valor implícito "1"
El compilador requiere esta función en este caso:
La Scala.tiempo de ejecución.Richint se asigna luego al tipo int dentro de la función implícitamente, y proporciona la salida AS.
Ejemplo # 3: Programa de acceder a un parámetro implícito inducido por contexto Scala en Ubuntu 20.04
Los parámetros implícitos de Scala pueden incluso ser más significativos que sus puntos de vista implícitos. Son tipo clase de clase compatible con la clase. Esto se utiliza esporádicamente en la biblioteca estándar; Vea Scala cómo se emplea el pedido en##ordenado. La matriz manifiesta y los objetos CanBuildFrom también se pasan utilizando parámetros implícitos.
Context Bounds es una sintaxis de acceso directo que Scala 2.8 ofertas para argumentos implícitos. En pocas palabras, un método que requiere una entrada implícita de Tipo Y [x]
Se pasa el parámetro implícito, pero no se nombra. Al aplicar el método Foo, ¿puede ser esto útil exactamente?? Es común que el parámetro implícito se envíe como un parámetro implícito a otra función que se llama en lugar de tener que mencionarse explícitamente. Para materializar el valor, puede llamar implícitamente mientras mantiene la definición de método conciso con el contexto vinculado.
Ejemplo # 4: Programa de dar información explícita a una parte de los parámetros implícitos Scala en Ubuntu 20.04
Considere el siguiente escenario al utilizar un enfoque de tipo de clase de tipo e invocar un método que imprima bien los detalles de un estudiante:
Hemos definido el rasgo de Scala "Display" que tiene la definición de la pantalla, ya que toma el tipo "t" y le asigna el valor "1". Luego, hemos creado el objeto "Pantalla" donde se establecen las funciones implícitas. La primera función implícita se declara como "intdisplay" que tiene la definición "int". Esta función se establece con la nueva palabra clave para la pantalla [int], que devolverá la representación de la cadena.
Luego, establecimos otra función implícita como "stringdisplay" para la definición de cadena. A continuación, tenemos la función "MyStringDisplay" que tiene el ToupperCase para la conversión a la caja superior. Después de eso, construimos la clase de caso "Estudiante" y establecemos sus atributos "Nombre" con el tipo de datos "Cadena" y "Age" con el tipo "INT".
Hemos implementado el objeto "Estudiante", dentro del cual se define la función implícita de "Display de estudiantes". La función ha asignado dos variables, "DI" para la pantalla Integer y "DS" para la visualización de la cadena. Esta función implícita tiene una función anidada "Pantalla" que crea el objeto "s" para la clase "estudiante". El ds.La pantalla toma la entrada "S.nombre ”y el DI.La pantalla toma el "S.parámetro de edad ". Por último, la variable "s" establece los valores de los atributos "nombre" y "edad" para la clase "estudiante". Con la función implícitamente, hemos mostrado los valores de "estudiante".
El Scala Repl RES6 mostró los resultados de los valores implícitos de la clase "Estudiante" de la siguiente manera:
¿Qué sucede si deseamos alterar cómo el nombre es el resultado?? Aunque podemos usar directamente StudentDisplay y suministrar una pantalla diferente [cadena], preferimos que el compilador pase la pantalla [int].
Se obtienen los siguientes resultados si empleamos la línea anterior en el código anterior.
Conclusión
En esta publicación, discutimos la función implícitamente, que ha sido parte de Scala desde la versión 2.8. Primero, comenzamos a demostrar el papel fundamental de la función como un "compilador para implícitos". Este método implícitamente simplemente anticipa un parámetro de tipo, localiza el valor implícito presente en el alcance, convoca y nos lo devuelve. La técnica extremadamente básica debe usarse implícitamente por las siguientes razones.