PDF de programación - Taller de Ruby Básico

Imágen de pdf Taller de Ruby Básico

Taller de Ruby Básicográfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 8 de Diciembre del 2017)
944 visualizaciones desde el 8 de Diciembre del 2017
353,7 KB
28 paginas
Creado hace 14a (22/11/2009)
Taller de Ruby Básico

Guillermo Valdés Lozano

20 de noviembre de 2009

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

1 / 28

Documento protegido por GFDL

Copyright (c) 2009 Guillermo Valdés Lozano.
e-mail: guillermo(en)movimientolibre.com
http://www.movimientolibre.com/

Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la
Licencia de Documentación Libre de GNU, Versión 1.2 o cualquier otra versión posterior
publicada por la Free Software Foundation; sin Secciones Invariantes ni Textos de Cubierta
Delantera ni Textos de Cubierta Trasera.

Una copia de la licencia está en http://www.movimientolibre.com/licencias/gfdl.html

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

2 / 28

A cerca de Ruby

Introducción

A cerca de Ruby

Es un lenguaje de programación interpretado y orientado a objetos.
En ruby todo es un objeto.
Creado por el programador japonés Yukihiro “Matz” Matsumoto,
quien comenzó a trabajar en Ruby en 1993, y lo presentó
públicamente en 1995.
La última versión estable es la 1.8.6, publicada en diciembre de 2007.
Es Software Libre.

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

3 / 28

Reflexión de Yukihiro “Matz” Matsumoto

Introducción

Reflexión de Yukihiro “Matz” Matsumoto

A menudo la gente, especialmente los ingenieros en informática, se centran
en las máquinas. Ellos piensan, “Haciendo esto, la máquina funcionará más
rápido. Haciendo esto, la máquina funcionará de manera más eficiente.
Haciendo esto...” Están centrados en las máquinas, pero en realidad
necesitamos centrarnos en las personas, en cómo hacen programas o cómo
manejan las aplicaciones en los ordenadores. Nosotros somos los jefes.
Ellos son los esclavos.

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

4 / 28

Comezando

Introducción

Comezando

Averigua la versión de Ruby instalada.

$ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]
Podríamos usarlo intectivamente, pero no lo recomendamos.

$ ruby
puts "Hola Mundo !"
^D
Hola Mundo !

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

5 / 28

irb, la terminal de Ruby

Introducción

irb, la terminal de Ruby

Ingrese escribiendo el comando...

$ irb
Y tenga la libertad de ingresar instrucciones...

def suma(n1, n2)

n1 + n2

end
suma(3, 4)
suma(’cat’, ’dog’) -> ’catdog’
Para salir escriba...

-> 7

exit

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

6 / 28

Programas de Ruby en archivos rb

Introducción

Programas de Ruby en archivos rb

Se puede ejecutar un archivo de Ruby .rb pasándole como parámetro el
nombre del mismo.

$ ruby mi_programa.rb
O bien, que la primera línea declare el intérprete.

#!/usr/bin/env ruby
Y cambie el modo a ejecutable.

$ chmod a+x mi_programa.rb
Así podrá ejecutarlo directamente.

$ ./mi_programa.rb

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

7 / 28

La sintaxis de Ruby es simple

Introducción

La sintaxis de Ruby es simple

No necesitas ; después de cada instrucción.
Puedes poner comentarios con #
El espaciado no afecta al programa.
No hay que declarar variables antes de usarlas.

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

8 / 28

Objetos, instancias y métodos Métodos de un objeto

Métodos de un objeto

Practiquemos algunos métodos sobre un texto, que es un objeto.

-> 9
"Guillermo".length
-> 6
"Guillermo".index(’r’)
"Guillermo".reverse
-> "omrelliuG"
"Guillermo".reverse.upcase -> "OMRELLIUG"

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

9 / 28

Objetos, instancias y métodos Método simple

Método simple

Con def y end indicamos el inicio y término de un método creado por
nosotros.

def buenas_noches(nombre)

entregar = "Buenas Noches " + nombre
return entregar

end
puts buenas_noches(’memo’) -> Buenas Noches memo
puts buenas_noches(’rosy’) -> Buenas Noches rosy

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

10 / 28

Objetos, instancias y métodos

Sustitución de variables con comillas dobles

Sustitución de variables con comillas dobles

Los textos con comillas dobles pueden sustituir variables por sus valores.

def buenas_noches(nombre)

entregar = "Buenas Noches #{nombre}"
return entregar

end
puts buenas_noches(’memo’) -> Buenas Noches memo
puts buenas_noches(’rosy’) -> Buenas Noches rosy

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

11 / 28

Objetos, instancias y métodos

Expresiones complejas

Expresiones complejas

Dentro de las llaves podrán llamarse a métodos o efectuarse operaciones.
Además, como el resultado de la última instrucción del método es lo que
entrega, nos ahorramos el return.

def buenas_noches(nombre)

"Buenas Noches #{nombre.capitalize}"

end
puts buenas_noches(’memo’) -> Buenas Noches Memo
puts buenas_noches(’rosy’) -> Buenas Noches Rosy

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

12 / 28

Arreglos

Arreglos y Hashses

Arreglos

Un arreglo es un conjunto ordenado de objetos. El primer elemento tiene
como índice el 0.

a = [1, ’cat’, 3.4]
a[0] -> 1
a[2] -> 3.4
a[2] = nil
a -> [ 1, ’cat’, nil]
Para declarar un arreglo vacío, puede usar:

a = Array.new

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

13 / 28

Arreglos de textos

Arreglos y Hashses

Arreglos de textos

Hay dos formas de definir un arreglo que contiene palabras, la tradicional.

a = [’hormiga’, ’abeja’, ’gato’, ’perro’]
Y la simplificada

a = %w{hormiga abeja gato perro}

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

14 / 28

Hash

Arreglos y Hashses

Hash

En un hash, cada elemento se accede por una clave única.

instrumentos_musicales = {
=> ’cuerda’,
=> ’percución’,

’violin’
’tambor’
’trompeta’ => ’viento’

}
instrumentos_musicales[’violin’]
instrumentos_musicales[’director’] -> nil
Para declarar un hash vacío, use:

-> "cuerda"

directorio = Hash.new

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

15 / 28

Estructuras de control

Estructura de control if

Estructura de control if
Si el resultado de la expresión lógica es verdadera se ejecutan las
instrucciones.
if nombre.length > 10

puts "¡Tiene #{nombre.length} caracteres tu nombre!"

end
Use elsif para efectuar otra prueba si la anterior resultó falsa. Y else por si
todo lo anterior dio falso.
if nombre.length > 10

puts "¡Tiene #{nombre.length} caracteres tu nombre!"

elsif nombre.length > 0

puts "Creo que #{nombre} es corto."

else

end

puts "El nombre está vacío."

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

16 / 28

Estructuras de control

Una sola instrucción bajo una condición

Una sola instrucción bajo una condición

Una estructura if con una sola instrucción como la siguiente...

if radiacion > 3000

puts "¡Peligro! ¡Peligro!"

end
Puede simplificarse de esta forma...

puts "¡Peligro! ¡Peligro!" if radiacion > 3000

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

17 / 28

Estructuras de control

Estructura de control while

Estructura de control while

Por medio de while se hace un bucle que continúa mientras la prueba
lógica sea verdadera.

puts "Tabla de multiplicar del 2"
contador = 0
while contador < 20

contador += 1
puts "2 x #{contador} = #{2*contador}"

end

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

18 / 28

Estructuras de control

Una sola instrucción bajo una while

Una sola instrucción bajo una while

Si una sola instrucción va estar dentro de un while...

cuadrado = 2
while cuadrado < 1000

cuadrado = cuadrado * cuadrado

end
puts cuadrado
Entonces puede simplifcarse de esta forma.

cuadrado = 2
cuadrado = cuadrado * cuadrado while cuadrado < 1000
puts cuadrado

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

19 / 28

Expresiones regulares

Expresiones regulares

Expresiones regulares

Las expresiones regulares son patrones que buscan algo en un texto.

if lenguaje ~= /Perl|Python/

puts "¡Qué gusto que usa #{lenguaje}!"

end

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

20 / 28

Caracteres especiales

Expresiones regulares

Caracteres especiales

Dentro de una expresión regular pueden usarse estos códigos:

+ para indicar uno o más caracteres.
* para indicar ninguno o más caracteres
\s un caracter de espaciado (espacio, tabulador, avance de línea).
\d un caracter dígito.
\w un caracter alfabético.
. (punto) para cualquier caracter.

Ejemplos:

puts "La hora es correcta" if hora ~= /\d\d:\d\d/
puts "Es un archivo AVI" if archivo ~= /.+\.avi/

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

21 / 28

Reemplazo de texto

Expresiones regulares

Reemplazo de texto

Para sustituir la primer aparición de Perl por Ruby.

linea.sub(/Perl/, ’Ruby’)
Para sustituir todos los Perl.

linea.gsub(/Perl/, ’Ruby’)
Para sustituir todos los Perl y Phyton

linea.gsub(/Perl|Phyton/, ’Ruby’)

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

22 / 28

Bloques, Iteradores y Clases

Bloques

Bloques

Un bloque es un conjunto de intrucciones entre llaves...

{ puts "Gracias por asistir al taller." }
O entre un do y un end...

do

contador += 1
puts "Van #{contador} ciclos."

end
Un bloque puede será ejecutado por una invocación.

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

23 / 28

Bloques, Iteradores y Clases

Bloques

Bloques

En este ejemplo, el bloque es ejecutado en cada yeild.

def hacer_documento

puts "Incio del documento"
yeild
yeild
puts "Fin del documento"

end
hacer_documento { puts "contenido" }

Guillermo Valdés Lozano ()

Taller de Ruby Básico

20 de noviembre de 2009

24 / 28

Bloques, Iteradores y Clases

Iteradores

Iteradores

Un iterador es un método
  • Links de descarga
http://lwp-l.com/pdf7799

Comentarios de: Taller de Ruby Básico (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad