Introducción a Ruby

@KattyaCuevas

“Ruby is designed for programmer productivity and fun”

 

Yukihiro 'Matz' Matsumoto

 

Librerías en Ruby (gems)

Comunidad de Ruby

Recursos gratuitos

Interprete de Ruby (IRB)

Primer programa:

Hola mundo!

puts 'Hola mundo!'

Comentarios

# Un comentario puede ir en una sola línea
puts 'Me gusta programar' # También puede ser parte de una línea
=begin
O puede tener muchas líneas
Y estas serán ignoradas por el programa
=end
puts 'Qué divertido'

Sintaxis básica

Puts

puts 'Linea normal'
# => Linea normal

puts "Primera linea\nSegunda linea"
# => Primera linea
# => Segunda linea

puts "\tLinea con tab"
# =>  Linea con tab

puts "Ejemplo con comillas 'simples'"
# => Ejemplo con comillas 'simples'

puts "Ejemplo con comillas \"dobles\""
# => Ejemplo con comillas "dobles"

puts """
Si quieres mostrar más de una linea
inicia con 3 comillas dobles
así puedes escribir muchas lineas
sin el caracter del salto de linea
"""

Operadores Matemáticos

# Suma
puts 20 + 14
# => 34

# Resta
puts 35 - 16
# => 19

# Multiplicación
puts 20 * 10
# => 200

# División
puts 45 / 2
# => 22
puts 45.0 / 2
# => 22.5

# Potencia
puts 3**2
# => 9

# Residuo
puts 9 % 2
# => 1

Operadores Booleanos

# Es igual a
puts true == true # => true

# Es diferente de
puts 10 != 'Hola' # => true

# Es mayor que
puts 5 > 9 # => false

# Es menor que
puts 6 < 3 # => false

# Mayor o igual
puts 15 <= 16 # => true

# Operador and (&&)
puts true && false # => false

# Operador or (||)
puts true || false # => true

# Operador not
puts not(true) # => false
puts not(false) # => true

Cadenas

# Concatenación
puts 'Hola ' + 'mundo'
# => Hola mundo

puts 'mun' << 'do'
# => mundo

puts 'mundo'.concat('!')
# => mundo!

puts 'mundo!'.prepend('Hola ')
# => Hola mundo!

# Métodos
'mundo'.capitalize
'mundo'.upcase
'mundo'.downcase
'mundo'.reverse
'mundo'.length
'mundo'.delete('u')
'mundo'.include?('h')
'mundo'.gsub('o', '*')

Variables

nombre = 'Kattya'
edad = 24
puts "#{nombre} tiene #{edad} años"
# => Kattya tiene 24 años

Conversiones

# A cadena
puts 'Hola ' + 2.to_s + ' veces'
# => Hola 2 veces

# A entero
puts 4 + '4'.to_i
# => 8

# A float
puts 50.to_f
# => 50.0

Métodos gets y chomp

puts 'Hola, ¿cómo te llamas?'
name = gets
puts 'Hola ' + name + ', mucho gusto.'
# => Hola (name)
# => , mucho gusto.

puts 'Hola, ¿cómo te llamas?'
name = gets.chomp
puts 'Hola ' + name + ', mucho gusto.'
# => Hola (name), mucho gusto.

Estructuras de control

if, elsif, else

puts '¿Cómo te llamas?'
name = gets.chomp

if name == 'Kattya'
  puts '¡Qué hermoso nombre!'
elsif name == 'Rosa'
  puts 'Lindo nombre'
else
  puts 'Interesante'
end

Ejercicio

Escriba un programa que te permita ingresar 2 números, los compare y devuelva el número mayor o si son iguales.

case, when, else

puts '¿Cómo te llamas?'
name = gets.chomp

case nombre
when 'Kattya'
  puts '¡Qué hermoso nombre!'
when 'Rosa'
  puts 'Lindo nombre'
else
  puts 'Interesante'
end

Ejercicio

Escriba un programa que te permita ingresar el tipo de cliente que eres. Si eres 'niño' la entrada será gratis, si eres 'estudiante' la entrada estará S/. 5 y si eres 'adulto' la entrada estará S/. 10.

Arrays

array = ['elemento 1', 'elemento 2', 'elemento 3']
array.reverse!
array * 3
array.delete('elemento 1')
array << 'elemento 4'

each, for, while

array.each do |element|
  puts element
end

for element in array
  puts element
end

i = 0
while i < array.size
  puts array [i]
  i = i + 1
end

Gracias!

Introducción a Ruby

By Kattya Cuevas Montes

Introducción a Ruby

  • 210