metaprogramming

Obtener el nombre del método que se está ejecutando actualmente

$0 ¿es la variable para el programa Ruby de nivel superior, pero hay una para el método actual?

¿Cómo pasa argumentos para definir el método?

Me gustaría pasar un argumento(s) a un método que se está definiendo usando define_method, ¿cómo lo haría?

Mejor introducción a la metaprogramación de plantillas C++? [cerrado]

La metaprogramación estática (también conocida como "metaprogramación de plantillas") es una gran técnica de C++ que permite ... sobre la metaprogramación estática en C++, ¿cuáles son las mejores fuentes (libros, sitios web, cursos en línea, lo que sea)?

Cómo manejar el compilador de C#, C++ o Java para calcular 1+2+3++ + 1000 en tiempo de compilación?

En una entrevista reciente, me hicieron una pregunta muy extraña. El entrevistador me preguntó cómo puedo calcular 1+2+3+...+ ... e la pena echar un vistazo si está interesado. Una útil biblioteca de meta-programación en C++ es MPL de Boost este enlace.

¿Qué es exactamente la metaprogramación?

Estaba leyendo un artículo en el servidor sobre la programación ployglot en la plataforma Java. Algunos comentarios en el ar ... s en objetos existentes en tiempo de ejecución (como lo que algunos lenguajes dinámicos como Python, Ruby y Groovy permiten).

Python vs Ruby para metaprogramación [cerrado]

Actualmente soy principalmente un programador D y estoy buscando agregar otro lenguaje a mi caja de herramientas, preferible ... acterística que esté diseñada principalmente con proyectos muy grandes trabajados por un millón de monos de código en mente.

Cómo Pony (Pony) hace sus trucos?

Pony Pony hace el buen truco de convertir una expresión del generador en SQL. Ejemplo: >>> select(p for p in Perso ... Python sobre la marcha. Todavía me gustaría ver a alguien explicándolo, la fuente está mucho más allá de mi nivel de magia.

Declaración Conveniente de Cadenas en Tiempo de Compilación en C++

Ser capaz de crear y manipular cadenas durante el tiempo de compilación en C++ tiene varias aplicaciones útiles. Aunque es po ... ion, subíndices de matriz, y similares). Sin embargo, no tengo el tiempo (o suficiente interés) para implementar tal macro=)

¿Es posible implementar getters/setters dinámicos en JavaScript?

Soy consciente de cómo crear getters y setters para propiedades cuyos nombres uno ya conoce, haciendo algo como esto: // A ... equivalente a estos? No hace falta decir que, idealmente, me gustaría una solución que es compatible con varios navegadores.

¿Es posible calcular el tipo de parámetro y el tipo de retorno de una lambda?

Dada una lambda, ¿es posible averiguar su tipo de parámetro y tipo de retorno? Si es así, ¿cómo? Básicamente, quiero lambda_ ... TLambda de la plantilla de función y quiero construir el objeto std::function dentro de la función (como se muestra arriba).

Hash de cadena de tiempo de compilación

He leído en algunos lugares diferentes que usando los nuevos literales de cadena de C++11 podría ser posible calcular el hash ... adivinar cómo se vería la solución final, pero meta_hash<"string"_meta>::value también podría ser una solución viable.

¿Cómo llamar a los métodos dinámicamente en función de su nombre?

¿Cómo puedo llamar a un método dinámicamente cuando su nombre está contenido en una variable string? Por ejemplo: class MyC ... gt; "foo" # somehow call `foo` on `obj` using the value in `str`. ¿Cómo puedo hacer esto? ¿Es un riesgo para la seguridad?

Objective-C class - > string like: [NSArray className] - > @"NSArray"

Estoy tratando de obtener un nombre de cadena de una clase del objeto de clase en sí. // For instance [NSArray className]; / ... en mi caso eso es trabajo innecesario. Entonces, ¿cómo puedo obtener una cadena de un objeto de clase, y no una instancia?

Obtener el valor de una variable de instancia con su nombre

En general, ¿cómo puedo obtener una referencia a un objeto cuyo nombre tengo en una cadena? Más específicamente, tengo una l ... _parameter_names.each do | param | instance_eval "field_ref = @#{param}" field_ref.from_s(param) end end

Metaprogramación en C++ y en D

El mecanismo de plantillas en C++ solo se volvió útil accidentalmente para la metaprogramación de plantillas. Por otro lado, ... on D, pero tengo curiosidad, ¿qué es lo que puedes hacer en D y no en C++, cuando se trata de metaprogramación de plantillas?

Ruby: definir el método vs def

Como un ejercicio de programación, he escrito un fragmento de Ruby que crea una clase, crea instancias de dos objetos de esa ... am exited. Lo que hace que el mensaje de error sea más desconcertante es que solo tengo un argumento para method_missing...

Ejemplos de C++ SFINAE?

Quiero entrar en más meta-programación de plantillas. Sé que SFINAE significa " el fracaso de la sustitución no es un error."¿ Pero puede alguien mostrarme un buen uso de SFINAE?

Ruby Metaprogramming: nombres de variables de instancia dinámicas

Digamos que tengo el siguiente hash: { :foo => 'bar', :baz => 'qux' } ¿Cómo podría configurar dinámicamente las cl ... .. magic happens here... end end ... así que termino con lo siguiente dentro del modelo... @foo = 'bar' @baz = 'qux' ?

¿Por qué recibo un error al intentar llamar a una función miembro de plantilla con un parámetro de tipo explícito?

No lo entiendo, me parece que la llamada a f es completamente inequívoca, pero no se compila con expected primary-expression ... void f() { } }; template<typename T> struct B : A<T> { void g() { this->f<int>(); } };

¿C++ soporta contadores de tiempo de compilación?

Con el propósito de introspección, a veces he querido asignar automáticamente números de serie a los tipos, o algo similar. ... ter_read ]; } ls; std::cout << sizeof ls.x << ' ' << sizeof ls.y << '\n'; // print "9 10" }