100% encontró este documento útil (1 voto)
19 vistas3 páginas

Qué es la Metaprogramación

La metaprogramación permite escribir código que genera otro código, lo que resulta útil para tareas como generar métodos dinámicamente según los campos de una tabla o crear etiquetas HTML de forma dinámica. La metaprogramación ahorra tiempo al programador al generar código automáticamente en lugar de tener que escribirlo manualmente.

Cargado por

Yamil Llampi
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
19 vistas3 páginas

Qué es la Metaprogramación

La metaprogramación permite escribir código que genera otro código, lo que resulta útil para tareas como generar métodos dinámicamente según los campos de una tabla o crear etiquetas HTML de forma dinámica. La metaprogramación ahorra tiempo al programador al generar código automáticamente en lugar de tener que escribirlo manualmente.

Cargado por

Yamil Llampi
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Qué Es La Metaprogramacion

timer 6 Min.
remove_red_eye 7876
calendar_today 01/05/18
La metaprogramación o metaprogramming como decimos en inglés, es uno de los términos más
desafiantes que un desarrollador puede encontrar, en resumen, solemos pensar en
metaprogramación como la habilidad de usar código para generar código, el problema es que ir
de, con metaprogramación puedo generar código a efectivamente aprovechar la implementación de
metaprogramación de un lenguaje, hay un largo camino.

PARA QUÉ USAMOS METAPROGRAMACIÓN


Primero tratemos de entender por qué el concepto es importante, a final de cuentas, es probable que
hasta ahora hayas sobrevivido sin una rutina de código que genere más código, a final de cuentas,
ese código también lo podemos escribir nosotros, ¿cierto?
id title durationl
1 Curso de Ruby 1500
2 Curso de Laravel 200
3 Curso de JavaScript 900
Considera que tenemos una tabla Cursos, que tiene un título y una duración, en versiones anteriores
de Rails, era posible usar un método como el siguiente para buscar elementos en la tabla:
def search_courses
Course.find_by_title_and_duration(‘Ruby’,100)
end
La pregunta es, de dónde salen dichos métodos, es imposible que los desarrolladores del framework
pudieran definir un método para cada combinación de campos posible en un programa. La
respuesta es metaprogramación.
Ahora, considera el siguiente programa de Ruby:
class HTML
def self.method_missing(nomb_method, *args, &block)
tag(nomb_method,*args,&block)
end
def [Link](tag_name,*args,&block)
"<#{tag_name}>#{[Link]} #{yield if
block_given?}</#{tag_name}>"
end
end

El mismo se utiliza de la siguiente manera:


html = [Link] do
[Link] do
HTML.h1 "Titulo de la pagina"
end +
[Link] do
HTML.p "Hola a todos"
end
end

puts html

aprogramación consiste en escribir programas que escriben o manipulan otros programas


(o a sí mismos) como datos, o que hacen en tiempo de compilación parte del trabajo que,
de otra forma, se haría en tiempo de ejecución. Esto permite al programador ahorrar
tiempo en la producción de código.

También podría gustarte