6 nov 2018

Teoría - Consideraciones en los programas de Ruby I

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
Resultado:
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
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
  • 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
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
Resultado
@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
  • 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'
Resultado
>ruby pppp.rb
holahola
hola
hola
>Exit code: 0
  • =begin
=end
es un comentario de varias líneas, todo pegadito a la izquierda.

ejercicio TK -1

 #!/usr/bin/ruby #https://sandbox.mc.edu/~bennet/ruby/code/tk2_rb.html # Import the library. require 'tk' # Root window. root = TkRo...