domingo, 5 de enero de 2014
Programando en Ruby ... no. 2
Crear una clase en Ruby
ejemplos.rb
class Manguera
def initialize(longitud,color)
@longitud=longitud
@color=color
end
attr_reader :longitud, :color
end
#'main' del programa
begin
#instanciamos la clase 'Manguera'
manguera=Manguera.new('50 mts','negra')
rescue
@error_message="#{$!}"
ensure
#imprimimos los datos
puts "color: #{manguera.color} , longitud: #{manguera.longitud}"
end
Ruby es un lenguaje muy parecido a Python ,si tienes tiempo programando en el te parecerá bastante familiar.
¿Cómo quedaría la clase en Python?
ejemplos.py
class Manguera:
def __init__(self,longitud,color):
self.color=color
self.longitud=longitud
try:
manguera=Manguera('35 mts','naranja')
except Exception, e:
print e
finally:
print "color: %s, longitud: %s"%(manguera.color,manguera.longitud)
Modificando el código de la clase (en Ruby), podemos introducir valores:
class Manguera
def initialize(longitud,color)
@longitud=longitud
@color=color
end
attr_reader :longitud, :color
end
color=''
longitud=''
begin
#pedimos el color
puts "Color: "
STDOUT.flush
color=gets.chomp
#pedimos la longitud
puts "Longitud: "
STDOUT.flush
longitud=gets.chomp
if color!='' and longitud!=''
manguera=Manguera.new(longitud,color)
end
rescue
@error_message="#{$!}"
ensure
puts "color: #{manguera.color} , longitud: #{manguera.longitud}"
end
También podriamos crear un método para visualizar los datos:
class Manguera
def initialize(longitud,color)
@longitud=longitud
@color=color
end
#creamos el método para visualizar los datos
def verDatos
puts "color: #{color} , longitud: #{longitud}"
end
attr_reader :longitud, :color
end
color=''
longitud=''
=begin
nota: esto es un comentario
=end
begin
#pedimos el color
puts "Color: "
STDOUT.flush
color=gets.chomp
#pedimos la longitud
puts "Longitud: "
STDOUT.flush
longitud=gets.chomp
if color!='' and longitud!=''
manguera=Manguera.new(longitud,color)
end
rescue
@error_message="#{$!}"
ensure
manguera.verDatos
end
Links:
http://codemonkeyjunior.blogspot.mx/2013/05/un-vistazo-ruby.html
http://codemonkeyjunior.blogspot.mx/2013/06/programando-en-ruby-no-1.html
http://www.elclubdelprogramador.com/category/programacion/ruby/
Suscribirse a:
Enviar comentarios (Atom)
Por qué pones en el ensure o en el finally esos métodos, colocandolos en el begin o try sería suficiente, así manejaría la excepción de por ejemplo un método no definido.
ResponderEliminarGracias por leer el post y por la aclaración
ResponderEliminar