Resultados de la búsqueda a petición "metaprogramming"
Es posible implementar getters / setters dinámicos en JavaScript?
Soy consciente de cómo crear captadores y establecedores para propiedades cuyos nombres ya se conocen, haciendo algo como esto: // A trivial example: function MyObject(val){ this.count = 0; this.value = val; } MyObject.prototype = { get ...
¿Existe un gancho similar a la clase # heredada que se activa solo después de una definición de clase Ruby?
#inherited se llama justo después declass Foo declaración. Quiero algo que se ejecutará solo después de laend declaración que cierra la declaración de clase. Aquí hay un código para ejemplificar lo que necesito: class Class def inherited m ...
Es posible averiguar el tipo de parámetro y el tipo de retorno de una lambda?
Dada una lambda, ¿es posible descubrir su tipo de parámetro y el tipo de retorno? En caso afirmativo, ¿cómo? Básicamente, quierolambda_traits que se puede usar de las siguientes maneras: auto lambda = [](int i) { return long(i*10); ...
Buscar clases disponibles en un Módulo
Tengo un móduloMyModule. Carga dinámicamente clases en él. ¿Cómo puedo obtener una lista de las clases definidas dentro de su espacio de nombres? Ejemplo def load_plugins Dir.glob(File.dirname(__FILE__) + '/plugins/*.rb') do ...
¿Qué es exactamente Reflection y cuándo es un buen enfoque?
¿Qué es exactamente Reflection? Leí el artículo de Wikipedia sobre este tema y entiendo que es una especie de metaprogramación, donde el programa puede modificarse en tiempo de ejecución, pero ¿qué significa esto? ¿En qué tipo de situaciones es ...
ropiedad @metaClass en clases de Java en groovy
Estoy aprendiendo de maravilla y tengo una pregunta sobre sus instalaciones de metaprogramación. Por lo que entiendo, cada objeto en groovy implementa la interfaz groovy.lang.GroovyObject (implícitamente agregado por el compilador groovy). La ...
C ++ 11 argumento de la función constexpr pasado en plantilla argumento
Esto solía funcionar hace algunas semanas: template <typename T, T t> T tfunc() { return t + 10; } template <typename T> constexpr T func(T t) { return tfunc<T, t>(); } int main() { std::cout << func(10) << std::endl; return 0; }Pero ahorag++ ...
ransformar el tipo de tupla
Así que soy nuevo para impulsar MPL, y no sé cómo usarlo con tipos estándar. Quiero una metafunción que encubra este tipo: std::tuple<T0, T1, ..., TN>Dentro de esto std::tuple< std::function<T0(std::tuple<T0, T1, ...>, std::tuple<T0, T1, ...
¿Cómo cambiar uno mismo en un bloque como hace el método instance_eval?
l método @instance_eval cambia self en su bloque, por ejemplo: class D; end d = D.new d.instance_eval do puts self # print something like #<D:0x8a6d9f4>, not 'main'! end Si definimos un método nosotros mismos (o cualquier otro método (que no sea ...
Lista de métodos de metaprogramación Ruby @
Solo comenzó a aprender la metaprogramación de Ruby. Mirando Object.methods obtengo: Object.methods => [ :allocate, :new, :superclass, :freeze, :===, :==, :<=>, :<, :<=, :>, :>=, :to_s, :included_modules, :include?, :name, ...