viernes, 22 de abril de 2016

Swift y la comprensión de listas

cada vez mas enganchado a este lenguaje

Ultimamente he estado sumergido en Swift, aprendiendo este nuevo y maravilloso lenguaje, como ya sabemos, Swift es el nuevo lenguaje de Apple, el cual fue inspirado por varios lenguajes, entre ellos Python. Como seguramente ya sabrán, una de las características que mas suelen ser útiles en Python y otros, es la comprensión de listas, pero nada como un ejemplo practico. Pueden usar un playground en Xcode para seguir estos ejemplos.

Primero partamos de una clase persons y un array de instancias de esta.

class person {
    var name = ""
    var age = 0
   
    // construct
    init(name:String, age:Int) {
        self.name = name
        self.age = age
    }
}

let persons:[person] = [person(name: "Ivan", age: 29),
                        person(name: "Rodrigo", age: 28),
                        person(name: "Juan", age: 15),
                        person(name: "Pedro", age: 10),
                        person(name: "Antonio", age: 18),
                        person(name: "Jose", age: 12),
                        person(name: "Ruben", age: 25)]


En Python estamos familiarizados con sintaxis como la siguiente:

minors = [ x for x in persons if p.age < 18 ]

En Swift podemos hacerlo por medio de las clausuras, usando la función filter de la siguiente forma:

let minors = persons.filter { $0.age < 18 }

Otro ejemplo para aclararlo aun mas, con la función map podemos incluso interactuar con el resultado:

let adults = persons.filter({ $0.age > 17 }).map({ $0.name + " Y es mayor de edad" }) // agrega la leyenda al nombre de los mayores de edad




Si bien la sintaxis no es tan clara como en Python, si que es posible y el poder alcanzado con Swift es asombroso. Hasta la próxima y

Felices códigos.

martes, 5 de abril de 2016

Conversor Divisas MX

Presentando mi primera app en iOS, toda una odisea subir la app, pero al fin lo logre :)

La publicacion en la AppStore esta pendiente.

Por cierto que ya tambien esta publicada la version para android, aqui:
https://play.google.com/store/apps/details?id=ivansoftmx.conversordivisasmx

A su vez esta es la agina de soporte para esta app, cualquier comentario es bienvenido aqui.

Saludos.