Resultados da pesquisa a pedido "metaprogramming"

1 a resposta

Qual é o objetivo dos métodos bind / unbind no Ruby?

Qual é o propósito de terMethod#unbind eUnboundMethod#bind? Pelo que entendi, os métodos são objetos que podem ser chamados, como procs e lambdas, exceto que os métodos estão vinculados ao escopo de seu receptor: class SomeClass def a_method; ...

1 a resposta

Como você lista os módulos incluídos em uma classe Ruby?

Como você listaria os módulos que foram incluídos em uma classe específica em uma hierarquia de classes no Ruby? Algo assim: module SomeModule end class ParentModel < Object include SomeModule end class ChildModel < ParentModel end p ...

2 a resposta

Manipulação 'String' em tempo de compilação com modelos variáveis

Olá pessoal, atualmente estou tentando escrever uma biblioteca de criptografia de seqüência de caracteres em tempo de compilação (usando as palavras 'string' e 'encryption' vagamente) lib. O que tenho até agora é o seguinte: // Cacluate narrow ...

2 a resposta

Como criar um índice inteiro de mapeamento classificado com modelos

Eu tenho a estrutura de dados: template <int...I> struct index {}; template <typename...T> struct data {}; template <int I, int J> struct X { static constexpr int i = I; static constexpr int j = J; }; typedef data< X<0,4>, X<1,2>, X<2,1>, ...

7 a resposta

O que exatamente é a metaprogramação?

Eu estava lendo um artigo no TheServerSide emprogramação ployglot na plataforma Java [http://www.theserverside.com/news/thread.tss?thread_id=47184#240893]. Alguns comentários no artigo se referem à metaprogramação como a capacidade de gerar ...

2 a resposta

Valor inesperado de __callee__ ao incluir um módulo - isso é um bug do Ruby?

Quando chamado por meio de um método criado poralias_method, __callee__ ignora o nome do método antigo (aquixxx) e retorna o nome do novo método, como abaixo: class Foo def xxx() __callee__ end alias_method :foo, :xxx end Foo.new.foo # ...

8 a resposta

Posso adicionar números com o pré-processador C / C ++?

Para alguma base. Base 1 par. Algum tipo de substituição complexa - ing. Além disso, e é claro, fazer isso não é uma boa ideia no código de produção da vida real. Eu apenas perguntei por curiosidade.

4 a resposta

Exemplos dos modelos de D que podem ser usados

Ouvi dizer que a linguagem D possui poderosos recursos de metaprogramação para executar funções em tempo de compilação. Isso parece muito empolgante, mas acho difícil pensar em exemplos práticos de coisas que são difíceis de realizar ...

5 a resposta

Adicionar classes existentes a um módulo

Eu tenho algumas classes ruby existentes em uma pasta app / classes: class A ... end class B ... endGostaria de agrupar essas classes em um módulo MyModule Eu sei que eu poderia fazer como: module MyModule class A ... end class B ... end ...

4 a resposta

Posso evitar a recursão do modelo aqui?

Eu escrevi umfor_each paratuples: template <typename Tuple, typename F, size_t begin, size_t end> enable_if_t<begin == end || tuple_size<Tuple>::value < end> for_each(Tuple&, F&&) { } template <typename Tuple, typename F, size_t begin = 0U, ...