Showing posts with label Swift. Show all posts
Showing posts with label Swift. Show all posts

Thursday, December 01, 2016

LED es mi nuevo Hello World - Tiempo de Swift (para Linux)

Me tomó un poco de tiempo escribir este blog...principalmente porque estoy aprendiendo Rust y también porque acabo de teminar mi último demo...cuyo blog publicaré más tarde -;)

Esta versión de mi applicación de Números LED se convierte en la versión de 25 lenguajes de programación...así que...obviamente...es una gran hito para mi -:D Quién sabe? Quizás haga algo interesánte si alcanzo los 50 lenguajes de programación -:D

En fín...como me encanta decir..."Basta de hablar...muestrame el Código Fuente" -;)

LedNumbers.swift
let leds: [Character:String] = [
 "0" : " _  ,| | ,|_| ",
 "1" : "  ,| ,| ",
 "2" : " _  , _| ,|_  ",
 "3" : "_  ,_| ,_| ",
 "4" : "    ,|_| ,  | ",
 "5" : " _  ,|_  , _| ",
 "6" : " _  ,|_  ,|_| ",
 "7" : "_   , |  , |  ",
 "8" : " _  ,|_| ,|_| ",
 "9" : " _  ,|_| , _| "
];

print("Enter a number: ",terminator:"");
let num = readLine(strippingNewline: true);

var line = [String]();
var led = "";

for i in 0...2{
 for character in num!.characters{
  line = String(leds[character]!)!.
                       characters.split(separator: ",").map(String.init);
  print(line[i], terminator:"");
 }
 print("");
}

Y aquí está la imagen del programa haciendo su magia -:)


Saludos,

Blag.
Development Culture.

Monday, November 28, 2016

Mi primer post en Swift (para Linux)


Puesto que Apple liberó de forma muy amable  Swift for Linux...Tenía que aprenderlo-:)

Por supuesto...no está totalmente implementado...así que la mayoría de cosas que hacen a Swift impresionante en IOS no están presenten aún...pero aún así...es impresionante! -:D

Swift es medio functional...así que puedes ver muchas cosas de Haskell y Erlang...pero también imperativo y orientado a objects...así que eso lo convierte en un lenguaje muy interesánte...

Como siempre...aquí está mi pequeña aplicación de números Fibonacci...

fibonacci.swift
func fib(num:Int,a:Int,b:Int) -> String{
 var result: String = "";
 if a > 0 && num > 1{
  result = result + String(a + b) + " " + 
           fib(num: (num - 1), a: (a + b), b: a);
 }else if a == 0{
  result = String(a) + " " + String(b) + " " + 
           String(a + b) + " " + 
           fib(num: (num - 1), a: (a + b), b: b);
 }
 return result;
}

print("Enter a number: ",terminator:"");
let number = Int(readLine(strippingNewline: true)!);

print(fib(num: number!, a: 0, b: 1));

Y aquí está el resultado....


Ya tengo lista mi aplicación de Números LED...así que esperen -;)

Saludos,

Blag.
Development Culture.