No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

10 Días
22 Hrs
0 Min
39 Seg

Ciclos

16/37
Recursos

Aportes 26

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

PARA QUIENES QUIERAN TOMAR APUNTES MAS FACIL

Dentro de ese proyecto 1, en la carpeta main, dan click derecho en la carpeta Kotlin y agregan un nuevo archivo .kt y lo nombran segun el tema, con eso copian los ejemplos y en esos mismos archivos comentan los apuntes





Pienso que está clase perfectamente pudo haber sido 3 diferentes clases. Ya que se mencionan conceptos que no se han mencionado antes como ‘funciones anónimas’ (Lambdas) y otras operaciones usando listas y lambdas como ‘map’ o ‘filter’. Que para una persona que tiene experiencia previa en Java no es un problema, pero para alguien que recién empieza con Kotlin podría ser confuso

La Función map()
La función de orden superior map{ } te permite aplicar una función sobre todos los elementos de una colección con el fin de una nueva colección con el cálculo final.
Función filter()
La función de extensión filter te permite filtrar los ítems de una colección de elementos a partir de un predicado como argumento. El predicado afirma o niega expresiones sobre el sujeto (cada elemento de la colección). Si un elemento satisface al predicado, entonces es incluido en el resultado final.

Ejemplos en code usados para explicar los ciclos:

fun main(args: Array<String>) {

    /* for// */

    val listaDeFrutas: List<String> = listOf("Manzana","Pera","Frambuesa","Durazno")
    for (fruta in listaDeFrutas) {
        println("Hoy voy a comerme una fruta llamada $fruta")
    }
    listaDeFrutas.forEach {
        fruta -> println("Hoy voy a comerme una fruta nueva llamada $fruta")
    }


    /* map// */

    val caracteresDeFruta: List<Int> = listaDeFrutas.map {
        fruta -> fruta.length
    }
    println(caracteresDeFruta)


    /* filter// */

    var listaFiltrada = caracteresDeFruta.filter {
        largoDeFruta -> largoDeFruta > 5
    }
    println(listaFiltrada)

}

La función map en Kotlin se utiliza para transformar los elementos de una colección en una nueva colección, aplicando una función a cada uno de los elementos.

La función map recibe como argumento una función que toma como parámetro un elemento de la colección y devuelve un nuevo elemento. La función map aplica esta función a cada elemento de la colección original y crea una nueva colección con los nuevos elementos devueltos por la función.

Aquí hay un ejemplo de cómo usar map en Kotlin:

val numeros = listOf(1, 2, 3, 4, 5)
val numerosDobles = numeros.map { it * 2 }
println(numerosDobles) // Imprime "[2, 4, 6, 8, 10]" 

La función filter en Kotlin se utiliza para filtrar los elementos de una colección según una determinada condición y devolver una nueva colección que contenga sólo los elementos que cumplan dicha condición.

La función filter recibe como argumento una función que toma como parámetro un elemento de la colección y devuelve un valor booleano que indica si el elemento debe ser incluido o no en la nueva colección. La función filter aplica esta función a cada elemento de la colección original y crea una nueva colección que contiene sólo los elementos que cumplan la condición especificada.

Aquí hay un ejemplo de cómo usar filter en Kotlin:

val numeros = listOf(1, 2, 3, 4, 5)
val numerosPares = numeros.filter { it % 2 == 0 }
println(numerosPares) // Imprime "[2, 4]" 

Muy buena clase esto es mas como programación funcional y esta chido.

Cada vez me esta gustando mas Kotlin 😄

Lo que no me gusta de Kotlin en VS Code (porque ahí lo utilizo con las extensiones) es que tarda un poco bastante en compilar. Pero todo bien, buen curso por cierto.

Genial, es un gran codigo, aunque de mi lado viendo los recursos compartidos en la documentacion de Kotlin tome la siguiente alternativa para saber la posicion y obtener el valor: ```js var fruitsList: List<String> = listOf("Apple" , "Bannana" , "Avocado", "Oranges", "Pineapple", "Gauva"); //for each //(index as the position, value as name that has the index position) in nameToIterate. withIndex(): will get the value for ((index, value ) in fruitsList.withIndex() ) println("The fruit #$index is $value"); ```El resultado fue el siguiente: The fruit #0 is Apple The fruit #1 is Bannana The fruit #2 is Avocado The fruit #3 is Oranges The fruit #4 is Pineapple The fruit #5 is Gauva Saludos, fue una gran clase!
![](https://static.platzi.com/media/user_upload/image-8f4ad20f-22da-4c57-9aa6-01d96a776b0d.jpg)![](https://static.platzi.com/media/user_upload/image-4e4b4aac-bf2f-4ed3-a5b0-8cd4b1d6c734.jpg)

El signo $ en la función print se utiliza para indicar el formateo de cadena. Esto significa que puede usarlo para reemplazar variables dentro de una cadena. Por ejemplo, si quieres imprimir una cadena con una variable, puedes hacer esto:

 myname = "John" print(f"My name is ${myname}") 

Esto imprimirá “My name is John”. El signo $ se usa para indicar que el valor de la variable debe reemplazar la parte de la cadena.

EJEMPLOS DE CLASE

fun main(args: Array<String>) {
  //FUNCIONES DE EXTENSION
  
  //FOR :  Ejecutar codigo para cada elemento de una lista


  //listOf(): Estructura de datos que no puede ser modificada
  val listaFrutas = listOf("manzana","pera","frambuesa","durazno")

  //recorrer la lista
  for(fruta in listaFrutas){
    println("hoy voy a comerme una fruta llamada $fruta")
  }

  //ahorrar lineas 
    for(fruta in listaFrutas) println("hoy voy a comerme   una fruta llamada $fruta")

    // foreach
    listaFrutas.forEach { fruta -> println("hoy voy a comerme   una fruta nueva llamada $fruta")}

    //map : Funciones poderosas en Kotlin, convertir lista de frutas directamente a enteros que contenga el tamaño de caracteres

    //List<Int>: lista de tipo entero

    val caracterFruta: List<Int> = listaFrutas.map { fruta -> fruta.length }
    println(caracterFruta)

    //Filter : Filtrar según una condición

    val listaFiltrada = caracterFruta.filter {largoFruta -> largoFruta>5}
    println(listaFiltrada)
}

Explorando usos avanzados de condiciones y bucles en Kotlin
https://blog.logrocket.com/advanced-uses-conditions-loops-kotlin/

Hay una frase de este curso que me causó conflicto:
El nombre de la variable es algo que podemos “modificar luego”.
Yo creo que, según el tio bob, eso estaría muy mal.
Dejar cosas para después solo hace que la catástrofe del código sea inminente. Lo peor, parece que el instructor no leyó el libro de Clean Code.
Estoy muy molesto por eso!

Les dejo mi aporte de un caso de uso con frutas para una colección de Batidos y jugos de frutas

fun main(args: Array<String>) {
    // Given a fruit list:
    val fruits = listOf("Patilla","Mango","Piña","Guanabana","Cambur")
    // foreach to execute an action for N number of elements in a list
    fruits.forEach { fruit -> println("I love $fruit") }
    // map to return new list adding Smoothie to every string of fruit
    val fruitSmoothies = fruits.map { fruit -> "$fruit Smoothie" }
    println("Fruit Smoothies: $fruitSmoothies")
    // map to return new list adding Smoothie to every string of fruit
    val fruitJuices = fruits.map { fruit -> "$fruit Juice" }
    println("Fruit Juices: $fruitJuices")
    // use Kotlin built in plus method to create a list with both fruitSmoothies and fruitJuices
    val fruitMenu = fruitSmoothies.plus(fruitJuices)
    println("Fruit Menu: $fruitMenu")
    // filter only Fruit Juices back from List using Kotlin built in contains method
    val newfruitJuicesList = fruitMenu.filter { fruit -> fruit.contains("Juice") }
    println("New Fruit Juices List: $newfruitJuicesList")
} 

También se puede recorrer arrays con el método forEach, al igual que en JS. Por ejemplo:
val arr = arrayOf(1, 2, 3)
arr.forEach { println(it) }

KT nos da una keywork <<it>> que representa el elemento que se está recorriendo.

este for de kotlin se parece al for de python por lo de “in”

Los ciclos for también pueden expresarsen así:

for (i in 1..3) {
    println(i)
}
for (i in 6 downTo 0 step 2) {
    println(i)
}

O también pueden expresarsen usarsen así para recorrer arreglos:

for (i in array.indices) {
    println(array[i])
}

Consulta la documentación de kotlin:

val listasFrutas = listOf("Manzana","Pera","Frambuesa","Durazno")
    for (fruta in listasFrutas){
         println("Hoy comeré ${fruta}")
    }

    listasFrutas.forEach{ fruta -> println("Hoy me comere la fruta ${fruta}") }

    val cantCaracterFrutas = listasFrutas.map { fruta -> fruta.length }
    println(cantCaracterFrutas)

    val listaFiltrada = cantCaracterFrutas.filter { caracterFruta -> caracterFruta > 5 }
    println(listaFiltrada)
kotlin se parece mucho a TCLTK ÉSTE FOR de una lista se llama foreach y uno hace foreach { VAR} lista { comandos }

Para el que esta dando sus primeros pasos no debe haber sido nada facil esta clase

Muy util la clase me parecen muy practicos estas funciones para procesar la informacion que venga de una consulta en la base de datos de manera mas simple y entendible para el equipo de trabajo.

Excelente profesor sin duda. Espero haga más cursos.

Buena clase. Muy entendible

Interesante, normalmente en otros lenguajes para usar el for de esa forma se llama foreach