Resultados da pesquisa a pedido "metaprogramming"

1 a resposta

Obter argumentos de método usando o TracePoint do Ruby

Consigo acessar os argumentos de um método Ruby usando a API do TracePoint: def foo(foo_arg) end trace = TracePoint.trace(:call, :c_call) do |tp| tp.disable case tp.method_id when :foo, :sub method = eval("method(:#{tp.method_id})", tp.binding) ...

1 a resposta

contexto de ruby lambda

Digamos que tenho a seguinte definição de rubi no nível mais alto callable = lambda {"#{hi}"}e suponha que mais tarde eu criei um objeto chamadotemp que tem um método chamadohi. Agora, o que eu gostaria de fazer é chamarcallable dentro do ...

1 a resposta

É possível transformar os tipos em um pacote de parâmetros?

É possível transformar os tipos de um pacote de parâmetros e transmiti-lo? Por exemplo. dado o seguinte: template<class... Args> struct X {}; template<class T> struct make_pointer { typedef T* type; }; template<class T> struct make_pointer<T*> ...

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 ...

1 a resposta

Determinando os tipos de parâmetros de uma função indefinida

Eu aprendi recentemente que não posso: Pegue o endereço de uma função indefinida [https://stackoverflow.com/q/38437533/2642059]Pegue o endereço de uma função de modelo com um tipo que não seria compilado ...

1 a resposta

Obtendo / configurando o valor padrão de um argumento dinamicamente

Comece com o seguinte cenário: class Foo def bar(baz={}) p baz end end foo = Foo.new p meth = foo.method(:bar) # => #<Method: Foo#bar> p meth.parameters # => [[:opt, :baz]]Então eu posso descobrir que o métodobar é opcional, mas como encontro o ...

1 a resposta

Aumentando um modelo de uma gema externa

estou a usarrefinerycms [http://refinerycms.com/]em nosso site para permitir que a equipe menos técnica atualize o conteúdo. Dentro da gema, eles têm uma classe Page que mapeia cada página de nível superior no site. Eu gostaria de usar a gema ...

1 a resposta

C ++ 0x lambdas com parâmetros de modelo? [duplicado]

Possível duplicado: As funções lambda podem ser modeladas? [https://stackoverflow.com/questions/3575901/can-lambda-functions-be-templated] É possível ter um lambda c ++ 0x com parâmetros de modelo? Por exemplo: template <typename T> [=](const T ...

1 a resposta

r programação funcional de tabela de dados / metaprogramação / computação na linguagem

Estou explorando maneiras diferentes de agrupar uma função de agregação (mas realmente poderia ser qualquer tipo de função) usando data.table (um exemplo de dplyr também é fornecido) e estava pensando nas melhores práticas para programação / ...