Entremos en materia. Ruby es un lenguaje fácil de cojerle el tranquillo, ya que tiene suficientes parecidos con otros lenguajes que puedes conocer que puedes desarrollar con el rápido. Después usar funcionalidades nuevas para ti costará más, como por ejemplo la metaprogramación para gente que venga de Java, o el mero hecho de ser orientado a objetos puro para usuarios de C++ o Java.
Como tiene que ser, la primera muestra del lenguaje debe ser un Hola mundo.
Bienvenidos a Ruby:
Ahí lo teneis. Fácil a más no poder. Pones eso en un fichero .rb y el intérprete ya sacará por pantalla la manida frase.
Vamos a ir un paso más allá: Que la aplicación me pregunte el nombre y me salude:
Aquí se puede ver la primera cosa que puede resultar extraña. Si vienes de Java, C, C++, C# y demás lenguajes te vendrá una pregunta a la cabeza: ¿Dónde están los malditos paréntesis? En ruby son opcionales, salvo en algunos casos que se ponen por ambigüedades. Se aconseja ponerlos, aunque a yo no los suelo poner (disculpadme si os cuesta más seguirme). Para los que no lo veais, el mismo código con parentesis es este:
¿Así mejor? Se ve que print, gets y puts son métodos. Adelanto que son de Kernel, uno de los padres de todas las clases en Ruby (en otro post se hablará de todo esto).
Otra cosa diferente es que no se dice que tipo es nombre, en otros lenguaje se le pondría delante. En Ruby se usa el tipado dinámico, asi que nombre será lo que gets le dé. De hecho, no importa la clase que sea, porque lo que importa es su comportamiento. Es la llamada Duck Typing:
Está quedando un post demasiado largo, de modo que paro aquí. Dudas o correcciones en los comentarios. Si has llegado leyendo hasta aqui, muchas gracias.
Como tiene que ser, la primera muestra del lenguaje debe ser un Hola mundo.
Bienvenidos a Ruby:
puts "Hola Mundo"Ahí lo teneis. Fácil a más no poder. Pones eso en un fichero .rb y el intérprete ya sacará por pantalla la manida frase.
Vamos a ir un paso más allá: Que la aplicación me pregunte el nombre y me salude:
print "Hola guapo, ¿como te titulas?: "
nombre = gets
puts "Hola #{nombre}"Aquí se puede ver la primera cosa que puede resultar extraña. Si vienes de Java, C, C++, C# y demás lenguajes te vendrá una pregunta a la cabeza: ¿Dónde están los malditos paréntesis? En ruby son opcionales, salvo en algunos casos que se ponen por ambigüedades. Se aconseja ponerlos, aunque a yo no los suelo poner (disculpadme si os cuesta más seguirme). Para los que no lo veais, el mismo código con parentesis es este:
print("Hola guapo, ¿como te titulas?: ")
nombre = gets()
puts("Hola #{nombre}")¿Así mejor? Se ve que print, gets y puts son métodos. Adelanto que son de Kernel, uno de los padres de todas las clases en Ruby (en otro post se hablará de todo esto).
Otra cosa diferente es que no se dice que tipo es nombre, en otros lenguaje se le pondría delante. En Ruby se usa el tipado dinámico, asi que nombre será lo que gets le dé. De hecho, no importa la clase que sea, porque lo que importa es su comportamiento. Es la llamada Duck Typing:
Si camina como un pato, nada como un pato y hace "quack", podemos tratarlo como un pato.De este modo me da igual que nombre sea un String, un pato, un coche o una excepción. Lo que importa es que pueda mostrarse como texto. Igual queda un poco chapucero explicado, así que dedicaré otro post a dejar clara esta filosofía
Está quedando un post demasiado largo, de modo que paro aquí. Dudas o correcciones en los comentarios. Si has llegado leyendo hasta aqui, muchas gracias.
No hay comentarios:
Publicar un comentario