La Coctelera

por Guillermo Álvarez

image

Añadir métodos a una clase o estancia creada

Actualización: Este post es de cuando empecé con ruby.

Pues más sencillo de lo que parece. Como es normal en ruby, la lógica aplastante por encima de todo y un simple "<<" bastará.

Por ejemplo.

En vez de hacer

def di_hola puts "hola chaval!" end

podemos hacer:

class << self def di_hola puts "hola chaval!" end end

O su manera enfuscada:

class << self; def hey; puts "hola chaval!"; end

Como llamar a metodos de un modulo

Estaba yo intentando llamar a un método de un helper. Probando encontré un método que sirve para extender clases con módulos.

Sé que esto es básico, pero por desgracia no me he leído todavía ningún libro sobre ruby. He de suponer que lo que estoy haciendo es un mixin de clases con los módulos.

La palabra clave es extend

Por ejemplo, si estoy en un ./script/console de rails, solo tengo que hacer un:

self.extend CommentsHelper

Para completar, es saber que módulos están cargados en la clase actual, vamos, que mixins se presentan.

self.extended_by

Espero que nadie pierda el tiempo que perdí yo intentando hacer esto.

30, dic | 3 comentarios Posteado por: cientifico compártelo Tags: extended by, rails, puts, extend, script, self, ruby

3 comentarios

blat 30 dic 2008 | 09:03 AM

Yo aún no termino de pillar la diferencia entre hacer extend de un módulo o incluirlo.

Creo que es muy sutil, pero aún no se ha dado el caso que me haga falta usar extend.

cientifico 30 dic 2008 | 12:47 PM

He creado otro post, ya que este lo rescaté de un antiguo blog, y por aquel entonces no tenía mucha idea.

http://cientifico.net/post/2008/12/30/diferencia-entre-extend-e-i...

Un Saludo

sildenafil 21 dic 2009 | 05:02 PM

ActionScript es un lenguaje de programación orientado a objetos (OOP), utilizado en especial en aplicaciones web animadas realizadas en el entorno Adobe Flash, la tecnología de Adobe para añadir dinamismo al panorama web. Fue lanzado con la versión 4 de Flash, y desde entonces hasta ahora, ha ido ampliándose poco a poco, hasta llegar a niveles de dinamismo y versatilidad muy altos en la versión 10 (Adobe Flash CS4) de Flash.

ActionScript es un lenguaje de script, esto es, no requiere la creación de un programa completo para que la aplicación alcance los objetivos. El lenguaje está basado en especificaciones de estándar de industria ECMA-262, un estándar para Javascript, de ahí que ActionScript se parezca tanto a Javascript.

La versión más extendida actualmente es ActionScript 3.0, que significo una mejora en el manejo de programación orientada a objetos al ajustarse mejor al estándar ECMA-262 y es utilizada en la última versión de Adobe Flash y Flex (recientemente comprada a Macromedia) y en anteriores versiones de Flex. Desde la versión 2 de Flex viene incluido ActionScript 3, el cual mejora su rendimiento en comparación de sus antecesores, además de incluir nuevas características como el uso de expresiones regulares y nuevas formas de empaquetar las clases.

Escribe un comentario