Consideraciones en los programas de Ruby I:
- Cuando veamos una línea que empieza con # significa que no se ejecuta, es una o varias líneas de comentario.
- Cuando vea algo que empieza con mayúscula es una constante.
- El signo = no significa igualdad, sino asignación, es decir lo de la derecha del signo se le asigna a lo de la izquierda del mismo
- Normalmente las líneas del programa se escriben de izquierda a derecha pero en algunos casos no se leen igual que se escriben. Si se leen como se escriben cuando no hay procedimiento que está simbolizado por un punto a la derecha del nombre de un objeto, ejemplos:
- #, print, puts, etc. se leen como se escriben. (Son órdenes internas)i.to_i, etc. hay que leerlo de derecha a izquierda.
- (to_i utiliza una característica del objeto i)
- El uso de dobles comillas o comillas simples se diferencia en que las dobles pueden contener ordenes y las simples sólo contienen caracteres de texto. Ejemplos:
Programa
#Hola Mundo
pp = "mundo"
pp1 = 'monda'
puts "Hola mundo"
puts 'hola mundO'
puts "Hola " + pp
puts 'Hola #{pp}'
puts "Hola #{pp}"
puts "Hola #{pp1}"
puts "Hola " + pp1
>ruby ppp.rb
#Hola Mundo
pp = "mundo"
pp1 = 'monda'
puts "Hola mundo"
puts 'hola mundO'
puts "Hola " + pp
puts 'Hola #{pp}'
puts "Hola #{pp}"
puts "Hola #{pp1}"
puts "Hola " + pp1
>ruby ppp.rb
Resultado:
Hola mundo
hola mundO
Hola mundo
Hola #{pp}
Hola mundo
Hola monda
Hola monda
>Exit code: 0
Hola mundo
hola mundO
Hola mundo
Hola #{pp}
Hola mundo
Hola monda
Hola monda
>Exit code: 0
- Lo números son súmeros mientras no se diga otra cosa:
Programa
#Hola Mundo
pp = "1"
pp1 = '1'
pp2 = 1
pp3 = pp2.to_s
puts 'Soy pp = '+pp+' Soy un string'
puts 'Soy pp1 = '+pp1+' Soy un string'
puts "Soy pp2 = #{pp2} Soy un número"
puts "Ahora soy pp3 = string de pp2 = "+pp3
>ruby ppp.rb
#Hola Mundo
pp = "1"
pp1 = '1'
pp2 = 1
pp3 = pp2.to_s
puts 'Soy pp = '+pp+' Soy un string'
puts 'Soy pp1 = '+pp1+' Soy un string'
puts "Soy pp2 = #{pp2} Soy un número"
puts "Ahora soy pp3 = string de pp2 = "+pp3
>ruby ppp.rb
Resultado
Soy pp = 1 Soy un string
Soy pp1 = 1 Soy un string
Soy pp2 = 1 Soy un número
Ahora soy pp3 = string de pp2 = 1
>Exit code: 0
Soy pp = 1 Soy un string
Soy pp1 = 1 Soy un string
Soy pp2 = 1 Soy un número
Ahora soy pp3 = string de pp2 = 1
>Exit code: 0
- En los ejemplos anteriores hemos definido variables cuando poníamos = y la forma de leerlo es así: en el ejemplo pp = “1” ---> el string 1 se le asigna a pp
pp3 = pp2.to_s ---> la forma de string de la variable pp2 se le asigna a pp3
- Cuando hay un procedimiento hay que empezar a leer por él.
- Las constantes son aquellos caracteres que empiezan por mayúsculas: P = 1
- Las variables pueden ser de tres tipos:
- locales; empiezan por minúsculas y llevan =
- Son aquellas que utilizamos en un momento determinado en el cuerpo del programa.
- No son válidas dentro de procesos ni clases.
- Las de instancia; son las que empiezan por @ y llevan =
- Las de clase, que empiezan por @@ y llevan = (Las veremos mas adelante)
ejemplos:
Programa
#variables y contantes
A = 1 #Constante
a = 2 #variable local
@a = 4 # variable de instancia
Programa
#variables y contantes
A = 1 #Constante
a = 2 #variable local
@a = 4 # variable de instancia
def suma #defino un procedimiento
b = 10 #variable local dentro de procedimiento
puts "@a+b = #{@a+b}"
@c = @a+b #defino una variable local interna al procedimiento
puts "b+@c = #{b+@c}" #puedo sumarla con las variables y constantes generales
end # termino el procedimiento
suma
puts "Puedo sumar lo troncal con la definición"
puts "a+@c = #{a+@c}"
puts "o también hacer A+@a+@c = #{A+@a+@c}"
puts 'pero la variable b sólo puede ser usada dentro de def'
>ruby pppp.rb
b = 10 #variable local dentro de procedimiento
puts "@a+b = #{@a+b}"
@c = @a+b #defino una variable local interna al procedimiento
puts "b+@c = #{b+@c}" #puedo sumarla con las variables y constantes generales
end # termino el procedimiento
suma
puts "Puedo sumar lo troncal con la definición"
puts "a+@c = #{a+@c}"
puts "o también hacer A+@a+@c = #{A+@a+@c}"
puts 'pero la variable b sólo puede ser usada dentro de def'
>ruby pppp.rb
Resultado
@a+b = 14
b+@c = 24
@a+b = 14
b+@c = 24
Puedo sumar lo troncal con la definición
a+@c = 16
o también hacer A+@a+@c = 19
pero la variable b sólo puede ser usada dentro de def
>Exit code: 0
a+@c = 16
o también hacer A+@a+@c = 19
pero la variable b sólo puede ser usada dentro de def
>Exit code: 0
- Como se puede observar #{} permite introducir una operación dentro de una cadena de caracteres
- puts y print son los encargados de mostrar por pantalla lo que sea
- puts devuelve un retorno de carro tras mostrar su mensaje
- print lo pone todo seguido.
Programa
#print y puts
print 'hola'
puts 'hola'
print "hola\n" #Lleva el procedimiento u orden \n = retorno de carro por esto necesita comillas
puts 'hola'
#print y puts
print 'hola'
puts 'hola'
print "hola\n" #Lleva el procedimiento u orden \n = retorno de carro por esto necesita comillas
puts 'hola'
Resultado
>ruby pppp.rb
holahola
hola
hola
>Exit code: 0
>ruby pppp.rb
holahola
hola
hola
>Exit code: 0
- =begin
=end
es un comentario de varias líneas, todo pegadito a la izquierda.