Implementar la función Floor Modulo en Kotlin
- Crear un nuevo proyecto de Kotlin
-
Cree una función de módulo de piso personalizada para
Int
en Kotlin -
Crear una función de módulo de piso personalizado para
Doble
-
Crear una función de módulo de suelo personalizada para
Flotante
- Conclusión
Cada lenguaje de programación tiene operadores que ayudan a realizar diferentes cálculos, incluidos operadores aritméticos, operadores de asignación, operadores de comparación y operadores lógicos.
Estos operadores nos ayudan a realizar operaciones aritméticas comunes, pero no siempre cumplen con nuestros requisitos. En tales situaciones, el desarrollador hace todo lo posible para crear un algoritmo que use estos operadores para cumplir con sus requisitos.
Estos algoritmos generalmente se abstraen utilizando un método; solo necesitamos invocar este método con los parámetros correctos para obtener nuestro resultado.
Por ejemplo, mod()
es una función de extensión implementada por todos los tipos de Número
en Kotlin para calcular el resto de la división del suelo de este número con otro número, pero solo acepta un argumento de tipo Double
o Float
.
En este tutorial, aprenderemos a crear una función personalizada para calcular el resto de la división del piso de este número con otro número utilizando cualquier argumento que cumpla con los requisitos del desarrollador.
Crear un nuevo proyecto de Kotlin
Abra IntelliJ IDEA y seleccione Archivo
> Nuevo
> Proyecto
. En la ventana que se abre, ingrese un proyecto llamado floor-modulo
, seleccione Kotlin
en la sección Idioma
y seleccione Intellij
en la sección Build system
.
Finalmente, presiona el botón Crear
para generar el proyecto Kotlin.
Cree una función de módulo de piso personalizada para Int
en Kotlin
Una vez que se haya generado el proyecto, cree un archivo llamado Main.kt
en la carpeta src/main/kotlin
y copie y pegue el siguiente código en el archivo.
infix fun Int.floorMod(other: Double) =
((this % other) + other) % other
fun main(){
val intValue = 5
println(intValue.floorMod(3.2))
}
En este código, hemos creado una función de extensión llamada floorMod()
, una función del tipo de datos Int
. Este método calcula el resto de la división del suelo de un valor Int
con otro valor de tipo Doble
.
Este es un ejemplo para mostrar cómo crear una implementación personalizada, lo que significa que el desarrollador puede usar cualquiera de las implementaciones de tipo Número
como argumento de esta función.
Tenga en cuenta que la función debe definirse primero antes de usar la aplicación. Ejecute este código y asegúrese de que el resultado sea como se muestra a continuación.
1.7999999999999998
Crear una función de módulo de piso personalizado para Doble
infix fun Double.floorMod(other: Int) =
((this % other) + other) % other
fun main(){
val intValue = 5
println(3.2.floorMod(intValue));
}
En este código, hemos creado un método llamado floorMod()
, una función del tipo de datos Int
. Este método calcula el resto de la división del suelo de un valor Doble
con otro valor de tipo Int
.
Este ejemplo funciona de la misma manera que el ejemplo anterior, y si necesitamos pasar un argumento diferente a este método, debemos definir una función que acepte el argumento que queremos. Ejecute este código y asegúrese de que el resultado sea como se muestra a continuación.
3.1999999999999993
Crear una función de módulo de suelo personalizada para Flotante
infix fun Float.floorMod(other: Double) =
((this % other) + other) % other
fun main(){
val floatValue = 5F
println(floatValue.floorMod(3.2))
}
Por ahora, sabemos cómo crear una función personalizada para calcular el módulo de piso para cumplir con la especificación requerida. Este código crea una función de extensión llamada floorMod()
y es una función del tipo de datos Float
.
Este método calcula el resto de la división del suelo de un valor Flotante
con otro valor de tipo Doble
.
Como se mencionó en los ejemplos anteriores, el proceso de creación de una función de extensión para que Float
acepte un argumento diferente. Ejecute este código y asegúrese de que el resultado sea como se muestra a continuación.
1.7999999999999998
Conclusión
En este tutorial, hemos aprendido cómo crear una función de extensión personalizada para ayudarnos a calcular el módulo de piso de dos números. Los temas que hemos cubierto incluyen el cálculo del módulo de suelo para los tipos de datos Int
, Double
y Float
.
Tenga en cuenta que debemos usar el mismo enfoque para las implementaciones de Número
restantes, como Largo
, Corto
y Byte
.
David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.
LinkedIn GitHub