SlideShare ist ein Scribd-Unternehmen logo
1 von 25
I N T R O D U C C I Ó N , E S T R U C T U R A S D E C O N T R O L
Y B U C L E S
Ruby 101
Sergio Castillo Yrizales
@scyrizales
Agenda
 Introducción
 Estructuras de control
 Bucles
Introducción
Introducción
 Ruby es un lenguaje poderoso, flexible muy usado en
aplicaciones web.
 Características:
 Alto Nivel
 Interpretado
 Orientado a Objetos
 De fácil uso
Tipos de datos
 Números
 Booleanos
 Cadenas
puts vs print
 Print escribe el texto en la pantalla
 Puts ademas de poner el texto en pantalla, le agrega
un salto de linea
Todo es un objeto
 Inclusive las declaraciones que creamos
 Y el resultado es: 6 (obvio no?)
Algunos métodos útiles
 reverse
 Invertir una cadena
 upcase
 Mayúsculas
 downcase
 Minúsculas
 gsub
 Reemplazar una cadena por otra
 include?
 Busca una cadena en otra
# para comentarios
=begin
comentarios de varias lineas
=end
! Y ?
 En ruby, las funciones que
terminan en ! significan
una modificación del
objeto original
 Es bueno recordar que esto
es solo una recomendación
del lenguaje para funciones
que modifican el objeto
original
! Y ?
 En ruby, las funciones que
terminan en ? devuelven
un valor boolean (true or
false)
 Es bueno recordar que esto
es solo una recomendación
del lenguaje para escribir
funciones que retornen
booleanos.
! Y ?
 Ejemplo:
 https://github.com/scyrizales/Ruby101/blob/master/Primera
Clase/ElmerFudd.rb
Crear un formulario
 Ejemplo en:
 https://github.com/scyrizales/Ruby101/blob/master/Primera
Clase/form.rb
 Cambiarlo para que realice algunas operaciones con
su edad.
Estructuras de Control
If / unless
Ejercicio: Temporada de conejo
 Haremos un programa llamado ElmerFudd.rb
 Cada vez que encuentre la silaba “co” la reemplazara
por “buo”
Ejercicio: Temporada de conejo
 Solución:
 https://github.com/scyrizales/Ruby101/blob/master/Primera
Clase/ElmerFudd.rb
Bucles
Bucles - While
 Se repite mientras la condición sea verdadera
 Cuidado con los bucles infinitos
Ejercicio: Temporada de conejo
 Modificado para que siempre pida una nueva
pregunta:
 https://github.com/scyrizales/Ruby101/blob/master/Primera
Clase/ElmerFuddBucle.rb
Bucles - Until
 Se repite mientras la condición sea falsa
Bucles - For
 Cuando sabes cuantas veces vas a ejecutar un bucle
 3 puntos para no incluir el numero final
 2 puntos para incluirlo
Bucles - Loop
 Para ejecutar una sintaxis compleja de codigo
 Break sirve para terminar
 Next para continuar con otro valor
Spy games
 Vamos a realizar un programa que encripte una
palabra que no querramos mostrar
 La encriptacion es simple, solo reemplazaremos la
palabra por la palabra “MUTED”
 Solución:
 https://github.com/scyrizales/Ruby101/blob/master/Primera
Clase/spygames.rb
Más Ejemplos
 https://github.com/scyrizales/Ruby101/tree/master
/PrimeraClase
 Contacto a @scyrizales (twitter, skype)
Ruby 101 session 1

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (8)

Introduccion al desarrollo de aplicaciones web con Ruby on Rails
Introduccion al desarrollo de aplicaciones web con Ruby on RailsIntroduccion al desarrollo de aplicaciones web con Ruby on Rails
Introduccion al desarrollo de aplicaciones web con Ruby on Rails
 
Ruby 101 && Coding Dojo
Ruby 101 && Coding DojoRuby 101 && Coding Dojo
Ruby 101 && Coding Dojo
 
Ruby 101
Ruby 101Ruby 101
Ruby 101
 
Ruby101
Ruby101Ruby101
Ruby101
 
Ruby 101 session 3
Ruby 101 session 3Ruby 101 session 3
Ruby 101 session 3
 
Ruby 101 session 2
Ruby 101 session 2Ruby 101 session 2
Ruby 101 session 2
 
Curso TDD Ruby on Rails #08: Buenas prácticas
Curso TDD Ruby on Rails #08: Buenas prácticasCurso TDD Ruby on Rails #08: Buenas prácticas
Curso TDD Ruby on Rails #08: Buenas prácticas
 
Ruby 101
Ruby 101Ruby 101
Ruby 101
 

Ähnlich wie Ruby 101 session 1 (20)

Objective-C.pptx
Objective-C.pptxObjective-C.pptx
Objective-C.pptx
 
zines.esp.v12.pdf
zines.esp.v12.pdfzines.esp.v12.pdf
zines.esp.v12.pdf
 
Ruby en linux
Ruby en linuxRuby en linux
Ruby en linux
 
Ruby en linux
Ruby en linuxRuby en linux
Ruby en linux
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Taller de Shell Scripting
Taller de Shell ScriptingTaller de Shell Scripting
Taller de Shell Scripting
 
Tutorial basico prolog
Tutorial basico prologTutorial basico prolog
Tutorial basico prolog
 
Manual
ManualManual
Manual
 
Lenguaje de programacion_c(2)
Lenguaje de programacion_c(2)Lenguaje de programacion_c(2)
Lenguaje de programacion_c(2)
 
Php informacion
Php informacion Php informacion
Php informacion
 
Tema9
Tema9Tema9
Tema9
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
1 introducción aprendiendo ruby
1 introducción   aprendiendo ruby1 introducción   aprendiendo ruby
1 introducción aprendiendo ruby
 
EXPO PERL UTT
EXPO PERL UTTEXPO PERL UTT
EXPO PERL UTT
 
Manual de php basico
Manual de php basicoManual de php basico
Manual de php basico
 
Curso Bash 2
Curso Bash 2Curso Bash 2
Curso Bash 2
 
Ciclos
CiclosCiclos
Ciclos
 
3
33
3
 
Prolog
PrologProlog
Prolog
 
Prolog2
Prolog2Prolog2
Prolog2
 

Mehr von Sergio Castillo Yrizales

Angular of things: angular2 + web bluetooth
Angular of things: angular2 + web bluetoothAngular of things: angular2 + web bluetooth
Angular of things: angular2 + web bluetoothSergio Castillo Yrizales
 
Arquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesArquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesSergio Castillo Yrizales
 

Mehr von Sergio Castillo Yrizales (20)

Un dia en la vida de un Software Engineer
Un dia en la vida de un Software EngineerUn dia en la vida de un Software Engineer
Un dia en la vida de un Software Engineer
 
Javascript en tiempos de colera
Javascript en tiempos de coleraJavascript en tiempos de colera
Javascript en tiempos de colera
 
Lambda at the edge
Lambda at the edgeLambda at the edge
Lambda at the edge
 
Angular of things: angular2 + web bluetooth
Angular of things: angular2 + web bluetoothAngular of things: angular2 + web bluetooth
Angular of things: angular2 + web bluetooth
 
Pushing html5 beyond boundaries
Pushing html5 beyond boundariesPushing html5 beyond boundaries
Pushing html5 beyond boundaries
 
Javascript en tiempos de colera
Javascript en tiempos de coleraJavascript en tiempos de colera
Javascript en tiempos de colera
 
Web apps con angular y material design
Web apps con angular y material designWeb apps con angular y material design
Web apps con angular y material design
 
Tdd con Angular y jasmine
Tdd con Angular y jasmineTdd con Angular y jasmine
Tdd con Angular y jasmine
 
Angular Conceptos Practicos 2
Angular Conceptos Practicos 2Angular Conceptos Practicos 2
Angular Conceptos Practicos 2
 
Angular Conceptos Practicos 1
Angular Conceptos Practicos 1Angular Conceptos Practicos 1
Angular Conceptos Practicos 1
 
Advanced angular 2
Advanced angular 2Advanced angular 2
Advanced angular 2
 
Advanced angular 1
Advanced angular 1Advanced angular 1
Advanced angular 1
 
Javascript + Angular Sesion 6
Javascript + Angular Sesion 6Javascript + Angular Sesion 6
Javascript + Angular Sesion 6
 
Javascript + Angular Sesion 5
Javascript + Angular Sesion 5Javascript + Angular Sesion 5
Javascript + Angular Sesion 5
 
Javascript + Angular Sesion 4
Javascript + Angular Sesion 4Javascript + Angular Sesion 4
Javascript + Angular Sesion 4
 
Javascript + Angular Sesion 3
Javascript + Angular Sesion 3Javascript + Angular Sesion 3
Javascript + Angular Sesion 3
 
Javascript + Angular Sesion 2
Javascript + Angular Sesion 2Javascript + Angular Sesion 2
Javascript + Angular Sesion 2
 
Javascript + Angular Sesion 1
Javascript + Angular Sesion 1Javascript + Angular Sesion 1
Javascript + Angular Sesion 1
 
Jquery mobile
Jquery mobileJquery mobile
Jquery mobile
 
Arquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesArquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móviles
 

Ruby 101 session 1

  • 1. I N T R O D U C C I Ó N , E S T R U C T U R A S D E C O N T R O L Y B U C L E S Ruby 101 Sergio Castillo Yrizales @scyrizales
  • 4. Introducción  Ruby es un lenguaje poderoso, flexible muy usado en aplicaciones web.  Características:  Alto Nivel  Interpretado  Orientado a Objetos  De fácil uso
  • 5. Tipos de datos  Números  Booleanos  Cadenas
  • 6. puts vs print  Print escribe el texto en la pantalla  Puts ademas de poner el texto en pantalla, le agrega un salto de linea
  • 7. Todo es un objeto  Inclusive las declaraciones que creamos  Y el resultado es: 6 (obvio no?)
  • 8. Algunos métodos útiles  reverse  Invertir una cadena  upcase  Mayúsculas  downcase  Minúsculas  gsub  Reemplazar una cadena por otra  include?  Busca una cadena en otra # para comentarios =begin comentarios de varias lineas =end
  • 9. ! Y ?  En ruby, las funciones que terminan en ! significan una modificación del objeto original  Es bueno recordar que esto es solo una recomendación del lenguaje para funciones que modifican el objeto original
  • 10. ! Y ?  En ruby, las funciones que terminan en ? devuelven un valor boolean (true or false)  Es bueno recordar que esto es solo una recomendación del lenguaje para escribir funciones que retornen booleanos.
  • 11. ! Y ?  Ejemplo:  https://github.com/scyrizales/Ruby101/blob/master/Primera Clase/ElmerFudd.rb
  • 12. Crear un formulario  Ejemplo en:  https://github.com/scyrizales/Ruby101/blob/master/Primera Clase/form.rb  Cambiarlo para que realice algunas operaciones con su edad.
  • 15. Ejercicio: Temporada de conejo  Haremos un programa llamado ElmerFudd.rb  Cada vez que encuentre la silaba “co” la reemplazara por “buo”
  • 16. Ejercicio: Temporada de conejo  Solución:  https://github.com/scyrizales/Ruby101/blob/master/Primera Clase/ElmerFudd.rb
  • 18. Bucles - While  Se repite mientras la condición sea verdadera  Cuidado con los bucles infinitos
  • 19. Ejercicio: Temporada de conejo  Modificado para que siempre pida una nueva pregunta:  https://github.com/scyrizales/Ruby101/blob/master/Primera Clase/ElmerFuddBucle.rb
  • 20. Bucles - Until  Se repite mientras la condición sea falsa
  • 21. Bucles - For  Cuando sabes cuantas veces vas a ejecutar un bucle  3 puntos para no incluir el numero final  2 puntos para incluirlo
  • 22. Bucles - Loop  Para ejecutar una sintaxis compleja de codigo  Break sirve para terminar  Next para continuar con otro valor
  • 23. Spy games  Vamos a realizar un programa que encripte una palabra que no querramos mostrar  La encriptacion es simple, solo reemplazaremos la palabra por la palabra “MUTED”  Solución:  https://github.com/scyrizales/Ruby101/blob/master/Primera Clase/spygames.rb