metaprogramming

Definición de Clase Dinámica CON un Nombre de Clase

¿Cómo defino dinámicamente una clase en Ruby CON un nombre? Sé cómo crear una clase dinámicamente sin un nombre usando alg ... amic_name = "TestEval2" Object.const_set(dynamic_name, Class.new) dummy2 = eval("#{dynamic_name}") puts "dummy2: #{dummy2}"

¿Qué significan" reify "y" reification " en el contexto de (funcional?) programación?

Leo mucho este término en blogs sobre haskell y programación funcional (especialmente en el blog de sigfpe ), pero no tengo n ... icar algo en código. Soy un poco lento con conceptos de informática, así que ejemplos prácticos con código sería bueno. : P

Llamada de método dinámico en Ruby

Por lo que sé, hay tres formas de llamar dinámicamente a un método en Ruby: Método 1: s = SomeObject.new method = s.metho ... r qué no utilizarías siempre el método más rápido? ¿Qué otras diferencias tienen estos métodos de llamar a métodos dinámicos?

Buscar clases disponibles en un Módulo

Tengo un módulo MyModule. Carga clases dinámicamente en él. ¿Cómo puedo obtener una lista de las clases definidas dentro de s ... ede pensar así: en Rails, ¿cómo podría encontrar programáticamente todas las clases definidas dentro del módulo ActiveRecord?

Crear matrices estáticas mediante programación en tiempo de compilación en C++

Se puede definir una matriz estática en tiempo de compilación de la siguiente manera: const std::size_t size = 5; unsig ... trabajo para obtenerla compilando en compiladores msvc e intel, pero sin embargo un enfoque muy interesante para el problema.

método que falta gotchas en Ruby

¿Hay alguna cosa a tener en cuenta al definir el método method_missing en Ruby? Me pregunto si hay algunas interacciones no tan obvias de herencia, lanzamiento de excepciones, rendimiento o cualquier otra cosa.

Metaprogramación de Plantillas-Diferencia Entre El Uso de Enum Hack y Const Estática

Me pregunto cuál es la diferencia entre usar una const estática y un enum hack cuando se usan técnicas de metaprogramación de ... e leído que el enum hack se usaba antes de que static const fuera soportado dentro de las clases, pero ¿por qué usarlo ahora?

Extracción/no definir un método de clase

Puede definir dinámicamente un método de clase para una clase como así: class Foo end bar = %q{def bar() "bar!" end} Foo.i ... no métodos de clase. O tal vez hay una sintaxis que puede pasar a instance_eval para hacer esto también. Gracias en avance.

¿Cuál es el significado de "cuasi" en quasiquotations?

Algunos lenguajes como Haskell (o Nemerle) tienen cuasiquotaciones. Me pregunto qué significa" cuasi "y si también existen" citas "sin la parte" cuasi".

Reducir la duplicación de código mientras se define una operación conmutativa

Tengo un conjunto de sobrecargas de una función binaria conmutativa llamada overlap, que acepta dos tipos distintos: class ... -crooked.com/a/20851835593bd557 ¿Cómo puedo prevenir tal recursión infinita? ¿Estoy abordando el problema correctamente?

Envío de etiquetas versus métodos estáticos en clases parcialmente especializadas

Supongamos que quiero escribir una función genérica void f<T>(), que hace una cosa si T es un tipo POD y otra cosa si T ... lt;T>::value>::f(x); } ¿Cuáles son los pros y los contras de usar un método sobre el otro? Que ¿me lo recomendarías?

Agregar una variable de instancia a una clase en Ruby

¿Cómo puedo agregar una variable de instancia a una clase definida en tiempo de ejecución, y luego obtener y establecer su v ... ciones explican cómo declarar variables de instancia en las definiciones de clase, pero eso no es lo que estoy preguntando.

Enumerar sobre una enumeración en C++

En C++, ¿es posible enumerar sobre una enumeración (ya sea en tiempo de ejecución o en tiempo de compilación (preferido)) y l ... num__member__); } Duplicados plausibles: C++: Iterar a través de una enumeración ¿Enum en C++ como Enum en Ada?

Obtener constantes de tiempo de compilación de metaprogramación de plantillas en tiempo de ejecución

Antecedentes Considere lo siguiente: template <unsigned N> struct Fibonacci { enum { value = Fibona ... mación versión de una sentencia switch tal vez, que genera una sentencia switch hasta un cierto número? Gracias de antemano.

Acceder a la función como atributo en una clase Python

Estoy en una situación en la que sería extremadamente útil (aunque no estrictamente necesario) acceder al instancemethod de u ... e esto: >>> f = foo() >>> f.baz <bound method foo.baz of <__builtin__.foo instance at 0x...>>

¿Es posible la metaprogramación estática en Java?

Soy fan de la metaprogramación estática en C++. Sé que Java ahora tiene genéricos. ¿Significa esto que la metaprogramación ... pilación) es posible en Java? Si es así, ¿puede alguien recomendar algún buen recurso donde uno pueda aprender más sobre él?

¿La metaprogramación stateful está mal formada (todavía)?

Uno de mis inventos más queridos/malvados que he tenido la fortuna de encontrar es el constexpr counter, también conocido com ... "This is ridiculous"); Por cierto, ¿esto es una contradicción directa con Almacenar Estados en la Metaprogramación de C++?

Seguridad del Hilo: Variables de clase en Ruby

Realizar escrituras/lecturas en variables de clase en Ruby no es seguro para subprocesos. Realizar escrituras / lecturas en v ... r # (singleton class) # Memoize instance class << self def instance @instance ||= best end end end

¿Es posible la metaprogramación en C#?

En particular, ¿sería posible tener código similar a este código de c++ ejecutado en tiempo de compilación en c#? template ... t;::value == 1 void foo() { int x = Factorial<4>::value; // == 24 int y = Factorial<0>::value; // == 1 }

facilitar c++ a objective-c/cocoa puente a través de metaprogramación?

En un mundo de C++ puro podemos generar código de interfaz o pegamento entre diferentes componentes o interfaces en tiempo de ... lase, no creo que se pueda evitar la especificación explícita de los tipos de parámetro y retorno para los métodos delegados.