PDF de programación - Ruby: un lenguaje dinámico moderno

Imágen de pdf Ruby: un lenguaje dinámico moderno

Ruby: un lenguaje dinámico modernográfica de visualizaciones

Publicado el 15 de Enero del 2017
813 visualizaciones desde el 15 de Enero del 2017
1,3 MB
218 paginas
Creado hace 18a (22/11/2005)
Ruby: un lenguaje dinámico moderno

Esteban Manchado Velázquez

[email protected]

22 de noviembre de 2005

Índice

1 Introducción

Sobre el lenguaje
Ruby a grandes rasgos

2 El lenguaje

Características no tan básicas
Mixin
Reflexión

3 Conclusiones

Aspectos negativos
Aspectos positivos

Índice

1 Introducción

Sobre el lenguaje
Ruby a grandes rasgos

2 El lenguaje

Características no tan básicas
Mixin
Reflexión

3 Conclusiones

Aspectos negativos
Aspectos positivos

Nacimiento de Ruby

• Diseñado por Yukihiro Matsumoto (matz)
• ((Ruby)) viene de Perl → Pearl
• I wanted a scripting language that was more powerful

than Perl, and more object-oriented than Python

• They are focusing on machines. But in fact we need to

focus on humans, on how humans care about doing
programming or operating the application of the
machines. We are the masters. They are the slaves

• Don’t underestimate the human factor. Even though we

are in front of computers, they are media. We are
working for human, with human

• You want to enjoy life, don’t you? If you get your job
done quickly and your job is fun, that’s good, isn’t it?
That’s the purpose of life, partly. Your life is better

Características generales

• ((Perl orientado a objetos)), ((Smalltalk con sintaxis familiar))

Características generales

• ((Perl orientado a objetos)), ((Smalltalk con sintaxis familiar))
• Completamente orientado a objetos (¡hasta nil!)

Características generales

• ((Perl orientado a objetos)), ((Smalltalk con sintaxis familiar))
• Completamente orientado a objetos (¡hasta nil!)
• Sintaxis limpia, modo poético, ((sufijos)) de sentencias

Características generales

• ((Perl orientado a objetos)), ((Smalltalk con sintaxis familiar))
• Completamente orientado a objetos (¡hasta nil!)
• Sintaxis limpia, modo poético, ((sufijos)) de sentencias
• Sangrado libre, marcas de fin de estructura

Características generales

• ((Perl orientado a objetos)), ((Smalltalk con sintaxis familiar))
• Completamente orientado a objetos (¡hasta nil!)
• Sintaxis limpia, modo poético, ((sufijos)) de sentencias
• Sangrado libre, marcas de fin de estructura
• Uso de mayúsculas y minúsculas (constantes, variables)

Características generales

• ((Perl orientado a objetos)), ((Smalltalk con sintaxis familiar))
• Completamente orientado a objetos (¡hasta nil!)
• Sintaxis limpia, modo poético, ((sufijos)) de sentencias
• Sangrado libre, marcas de fin de estructura
• Uso de mayúsculas y minúsculas (constantes, variables)
• Se usan mucho los bloques (funciones anónimas)

Características generales

• ((Perl orientado a objetos)), ((Smalltalk con sintaxis familiar))
• Completamente orientado a objetos (¡hasta nil!)
• Sintaxis limpia, modo poético, ((sufijos)) de sentencias
• Sangrado libre, marcas de fin de estructura
• Uso de mayúsculas y minúsculas (constantes, variables)
• Se usan mucho los bloques (funciones anónimas)
• Documentación empotrada

Características generales

• ((Perl orientado a objetos)), ((Smalltalk con sintaxis familiar))
• Completamente orientado a objetos (¡hasta nil!)
• Sintaxis limpia, modo poético, ((sufijos)) de sentencias
• Sangrado libre, marcas de fin de estructura
• Uso de mayúsculas y minúsculas (constantes, variables)
• Se usan mucho los bloques (funciones anónimas)
• Documentación empotrada
• Inmaduro (cambios, pocos módulos de desarrollo activo)

Características generales

• ((Perl orientado a objetos)), ((Smalltalk con sintaxis familiar))
• Completamente orientado a objetos (¡hasta nil!)
• Sintaxis limpia, modo poético, ((sufijos)) de sentencias
• Sangrado libre, marcas de fin de estructura
• Uso de mayúsculas y minúsculas (constantes, variables)
• Se usan mucho los bloques (funciones anónimas)
• Documentación empotrada
• Inmaduro (cambios, pocos módulos de desarrollo activo)
• Comunidad abierta (muchos ((refugiados)))

Para aprender...

• Entre Perl y Python en cuanto a integración

Para aprender...

• Entre Perl y Python en cuanto a integración
• Consola interactiva: irb

Para aprender...

• Entre Perl y Python en cuanto a integración
• Consola interactiva: irb
• Documentación empotrada de referencia: rdoc

Para aprender...

• Entre Perl y Python en cuanto a integración
• Consola interactiva: irb
• Documentación empotrada de referencia: rdoc
• Consulta de documentación, ayuda interactiva: ri e ihelp

Para aprender...

• Entre Perl y Python en cuanto a integración
• Consola interactiva: irb
• Documentación empotrada de referencia: rdoc
• Consulta de documentación, ayuda interactiva: ri e ihelp
• Consulta de documentación en web:

http://www.ruby-doc.org/find/pickaxe/string

Para aprender...

• Entre Perl y Python en cuanto a integración
• Consola interactiva: irb
• Documentación empotrada de referencia: rdoc
• Consulta de documentación, ayuda interactiva: ri e ihelp
• Consulta de documentación en web:

http://www.ruby-doc.org/find/pickaxe/string

• En el caso de Rails y otros, de moda los vídeos

Índice

1 Introducción

Sobre el lenguaje
Ruby a grandes rasgos

2 El lenguaje

Características no tan básicas
Mixin
Reflexión

3 Conclusiones

Aspectos negativos
Aspectos positivos

Micro-intro a la OO

• Clases de objetos

Micro-intro a la OO

• Clases de objetos
• Los objetos responden a métodos

Micro-intro a la OO

• Clases de objetos
• Los objetos responden a métodos
• Los objetos tienen atributos

Micro-intro a la OO

• Clases de objetos
• Los objetos responden a métodos
• Los objetos tienen atributos
• Las clases heredan de otras

Micro-intro a la OO

• Clases de objetos
• Los objetos responden a métodos
• Los objetos tienen atributos
• Las clases heredan de otras
• Al menos teóricamente, la OO nos hace natural pensar en

términos que facilitan reducir el acoplamiento entre conceptos
diferentes

Micro-intro a la OO

• Clases de objetos
• Los objetos responden a métodos
• Los objetos tienen atributos
• Las clases heredan de otras
• Al menos teóricamente, la OO nos hace natural pensar en

términos que facilitan reducir el acoplamiento entre conceptos
diferentes

• No les culparé si no se lo tragan

Micro-intro a la OO

• Clases de objetos
• Los objetos responden a métodos
• Los objetos tienen atributos
• Las clases heredan de otras
• Al menos teóricamente, la OO nos hace natural pensar en

términos que facilitan reducir el acoplamiento entre conceptos
diferentes

• No les culparé si no se lo tragan (o no lo entienden)

OO en Ruby

• Simple, cómoda de escribir (más vale)

OO en Ruby

• Simple, cómoda de escribir (más vale)
• Es la forma natural de resolver los problemas

OO en Ruby

• Simple, cómoda de escribir (más vale)
• Es la forma natural de resolver los problemas
• Se puede escribir en estilo no OO, pero en realidad es OO

OO en Ruby

• Simple, cómoda de escribir (más vale)
• Es la forma natural de resolver los problemas
• Se puede escribir en estilo no OO, pero en realidad es OO
• Herencia simple

OO en Ruby

• Simple, cómoda de escribir (más vale)
• Es la forma natural de resolver los problemas
• Se puede escribir en estilo no OO, pero en realidad es OO
• Herencia simple
• No existen los atributos (desde fuera)

OO en Ruby

• Simple, cómoda de escribir (más vale)
• Es la forma natural de resolver los problemas
• Se puede escribir en estilo no OO, pero en realidad es OO
• Herencia simple
• No existen los atributos (desde fuera)
• Métodos terminados en ((!)) y ((?))

OO en Ruby

• Simple, cómoda de escribir (más vale)
• Es la forma natural de resolver los problemas
• Se puede escribir en estilo no OO, pero en realidad es OO
• Herencia simple
• No existen los atributos (desde fuera)
• Métodos terminados en ((!)) y ((?))
• Métodos especiales ((=)) para caramelos sintácticos

OO en Ruby

• Simple, cómoda de escribir (más vale)
• Es la forma natural de resolver los problemas
• Se puede escribir en estilo no OO, pero en realidad es OO
• Herencia simple
• No existen los atributos (desde fuera)
• Métodos terminados en ((!)) y ((?))
• Métodos especiales ((=)) para caramelos sintácticos
• Se usa ((@)) y ((@@)) para los atributos de objeto/clase

OO en Ruby

• Simple, cómoda de escribir (más vale)
• Es la forma natural de resolver los problemas
• Se puede escribir en estilo no OO, pero en realidad es OO
• Herencia simple
• No existen los atributos (desde fuera)
• Métodos terminados en ((!)) y ((?))
• Métodos especiales ((=)) para caramelos sintácticos
• Se usa ((@)) y ((@@)) para los atributos de objeto/clase
• Se usa (($)) para variables globales (vale, no OO)

Ejemplo algo más ((real)) (I)

class Persona

attr_accessor :nombre
attr_reader :edad
def initialize(nombre, edad)

@nombre = nombre
@edad
@humana = false

= edad

end
def saludar

puts "Me llamo #{@nombre}. Saludo..."

end
def humana?; @humana end
def humanizar!; @humana = true end
def edad=(nuevaEdad) @edad = nuevaEdad.to_i end

end

Ejemplo algo más ((real)) (I)

class Persona

attr_accessor :nombre
attr_reader :edad
def initialize(nombre, edad)

@nombre = nombre
@edad
@humana = false

= edad

end
def saludar

puts "Me llamo #{@nombre}. Saludo..."

end
def humana?; @humana end
def humanizar!; @humana = true end
def edad=(nuevaEdad) @edad = nuevaEdad.to_i end

end

Ejemplo algo más ((real)) (I)

class Persona

attr_accessor :nombre
attr_reader :edad
def initialize(nombre, edad)

@nombre = nombre
@edad
@humana = false

= edad

end
def saludar

puts "Me llamo #{@nombre}. Saludo..."

end
def humana?; @humana end
def humanizar!; @humana = true end
def edad=(nuevaEdad) @edad = nuevaEdad.to_i end

end

Ejemplo algo más ((real)) (I)

class Persona

attr_accessor :nombre
attr_reader :edad
def initialize(nombre, edad)

@nombre = nombre
@edad
@humana = false

= edad

end
def saludar

puts "Me llamo #{@nombre}. Saludo..."

end
def humana?; @humana end
def humanizar!; @humana = true end
def edad=(nuevaEdad) @edad = nuevaEdad.to_i end

end

Ejemplo algo más ((real)) (I)
  • Links de descarga
http://lwp-l.com/pdf1923

Comentarios de: Ruby: un lenguaje dinámico moderno (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad