Internetizad0s Blog

Blog sobre la tecnológia y informática general.

Guía de iniciación a Ruby [parte 1]

GUIA DE INICIACIÓN A RUBY

Con este manual me propongo incitar a la gente a aprender Ruby o al menos que lo conozcan ^^. Antes de nada Greetz a pRotos, DarkSkull, Sh4van3, AnUbISsS y al Ruby Coder Team ;).

Una breve explicación de Wikipedia:
Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro “Matz” Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada en Python, Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programación interpretado en una sola pasada y su implementación oficial es distribuida bajo una licencia de software libre.

– INSTALACIÓN DE RUBY EN WINDOWS –
La instalación en Windows es como cualquier otro programa, lo bajan de AQUÍ, seguís todo lo que os ponga, como os podréis dar cuenta “ScItE” también se instalará, es un editor de textos de programación, es muy útil.

– INSTALACIÓN DE RUBY EN LINUX –
Esta instalación es más fácil por comandos, evidentemente.
Para instalarlo en Debian/Ubuntu deben poner esto en la Terminal:
sudo apt-get install ruby irb rdoc

Para instalarlo en Suse deben poner esto:
yast -install ruby irb rdoc

Para instalarlo en Fedora Core:
yum install ruby irb rdoc

Con esto se instalará el intérprete de Ruby, el IRB y la documentación.
(Como dije antes ScItE es muy útil, si desean bajarlo pongan:
sudo apt-get install scite

– INICIACIÓN A RUBY –
Una de las cosas que podemos probar es si el intérprete de Ruby está bien instalado y la versión que tenemos con el siguiente comando:
ruby –v

Os saldrá algo como esto, si tenéis Windows:
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]

Si tenéis Linux:
ruby 1.6.3 (2001-11-23) [i586-linux]

Una vez que ya sabéis que lo tenéis bien instalado y demás… podremos ir a la práctica.

– IMPRIMIR CARACTERES –
Hagamos nuestro primer Hola Mundo por consola en Ruby escribiendo lo siguiente:
ruby –e ‘print “hola mundo\n”’

Que dará de resultado:
hola mundo

Ya lo sé, es sencillo pero por algo se empieza… xD, ahora vamos a almacenar esto en un texto (con ScItE, aunque cualquier editor sirve ^^) si escribís print “hola mundo\n”

En cualquier editor escribís lo anterior y lo guardáis con la extensión .rb (es la extensión con la que funcionan los scripts de Ruby sin compilarlos) y lo ejecutáis, con:
ruby nombredelarchivo.rb

Y en Modo Consola pondrá “hola mundo “. Si ponéis por ejemplo: “internetizados for ever” saldrá eso jeje.

Un ejemplo que he cogido:
def fact(n)
if n == 0
1
else
n * fact(n-1)
end
end
print fact(ARGV[0].to_i), “\n”

Poned esto en un el bloc de notas, mismo, y guardarlo con el nombre fact.rb, una vez guardado, lo ejecutáis pero de esta forma:
ruby fact.rb 1

Con el anterior code hacíamos un programa factorial de calculadora, podemos ponerle al final el número que deseemos.

Pero por ejemplo si ponemos:
print “ hola”
print “mundo”

Dará “ holamundo”

En cambio si usamos puts:

puts “hola”
puts “mundo”

Dará:
“hola
Mundo”

Los prints los tendremos que usar más a menudo que los puts, por eso puse los ejemplos; en el primer caso usábamos ‘print “ n\”’ y nos daba el mismo resultado que con puts, hace un salto de línea.

– CADENAS –
Una de las cosas importantes a la hora de programar son las cadenas, que pueden estar entre comillas dobles (“ “) o simples (‘ ‘), que no quiere decir que siempre sirvan igual, me explico, las comillas dobles suelen servir para ver la presencia de caracteres de escape y las de comilla simple, simplemente, ves lo que obtienes. Como en el ejemplo de los prints, las comillas dobles significaban los caracteres que imprimíamos y en las simples salían lo que obteníamos.

Código de ejemplo, guardarlo como guess.rb:

words = ['foobar', 'baz', 'guux']
secret = words[rand(3)]

print “adivina?”
while guess = STDIN.gets
guess.chop!
if guess == secret
print “¡Ganas!\n”
break
else
print “Lo siento. Pierdes\n”
end
print “adivina?”
end
print “La palabra era “, secret,”.\n”

Si os fijáis en el código adivina que son los caracteres salen entre las comillas dobles (“ “) y en la línea 1 salen los words entre las comillas simples que es lo que obtenemos si acertamos el adivina, ejecutarlo por consola con “ruby gess.rb” y saldrá: Adivina?, ponéis “foobar” por ejemplo y sale que Pierdes!, pero si ponéis “baz” os dará… ¡Ganas!.

– ARRAYS, STRINGS Y HASHES –
Arrays o vectores, sirven para hacer varios objetos, para crear un array empezamos con Array.new o para un array con elementos listados se usan los corchetes ([ ]) y separados por comas ary = [kilersys, anubisss, internetizados] .

Siempre que se usan los arrays se empieza desde 0, 1, 2, 3,… ejemplo:
internetizados = ['KilerSys', 'AnUbIsSs']
puts internetizados[0] #0 = KilerSys
puts internetizados[1] #1 = AnUbIsSs

En el code se puede ver que hay unos comentarios después de los “# “, eso sirve para comentar, explicar y demás… pero no sale en el código cuando lo ejecutas.
Hay otra manera más rápida y cómoda que es con “%w” de la siguiente:

internetizados2 = %w { KilerSys AnUbIsSs } # Hace lo mismo que en el de arriba.
puts internetizados2[0] #0 = KilerSys
puts internetizados2[1] #1 = AnUbIsSs

Hace lo mismo que en el otro ejemplo.

El método each extrae cada elemento del array dentro de la variable entre “||” (AltGr+1) que irá dentro de bloques do – end o en su defecto llaves ({ }).
NOTA: Cuando abres un “do” o “{“ tienes siempre que cerrarlo “end” o”}”, sino te dará error.

Aquí vemos un simple código en que se se usan los arrays con el método each.
nombres = %w{ KilerSys AnUbIsSs }
nombres.each do |nombres|
puts '¡Me gusta el nombre de' + nombres + '!'
puts '¿A ti no?'
end

String o cadenas de texto, son secuencias de texto en el cual pueden estar entre comillas dobles (” “) o simples (‘ ‘).

puts 'Hola Mundo', por ejemplo era un string. Los strings se pueden juntar en cadenas:

puts '¡Ruby' + 'en la red!' #Daría ¡Ruby en la red!

Y también se puede multiplicar una cadena:

puts 'Internetizados' * 2 #Evidentemente repite "Internetizados" 2 veces.

Hashes o arrays asociativos, la diferencia de estos y de los arrays normales es que los arrays solo llevan números y estos pueden llevar cualquier variable: strings, expresiones regulares, etc.., si recuerdan el ejemplo en arrays:

internetizados = %w { KilerSys AnUbIsSs }
puts internetizados[0] #0 = KilerSys
puts internetizados[1] #1 = AnUbIsSs

Ejemplo de hashes (sobre las categorias del blog, por ejemplo):

h = { 'Hacking' => 'Cracking', 'Troyanos y Virus' => 'Binders y Crypters', 'Windows' => 'Trucos y Personalización', 'Programación' => 'Ruby' }
puts h.length # Cuenta 4 elementos (Hacking, Troyanos y Virus, Windows, Programación).
puts h['Hacking'] # Sale la variable de Cracking.
puts h # Imprime todo el Hash.


Con esto termino esta guia, próximamente… ¡¡Guía de iniciación a Ruby [parte 2]!!.

Espero que sirva de mucho.

Saludos, KilerSys.

Anuncios

octubre 12, 2008 - Posted by | Linux, Programación, Ruby, Windows |

1 comentario »

  1. Hola, muy buena esta guia felicidades Kiler y a todos los de el blog, a mi me sirvio para aprender lo basico, estoy esperando la parte 2!
    salu2
    SLUGER

    Comentario por SLUGER | diciembre 9, 2008


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: