Результаты поиска по запросу "metaprogramming"
которого я бы предпочел избежать, если это возможно)
y вы можете легко получить доступ к локальным переменным программно, используяlocal_variables а такжеeval, Мне бы очень хотелось иметь доступ к этим переменным с помощью одного метода, например: # define a variable in this scope, such as x = 5 ...
Это не отвечает на этот вопрос, OP хочет противоположность, где внутри func_1, если вы вызываете func_2, вы можете увидеть всех местных жителей из func_1.
у получить локальные переменные из Python из вызываемой функции. Есть какой-либо способ сделать это? Я понимаю, что это не подходит для большинства программ, но я в основном строю отладчик. Например: def show_locals(): # put something in here ...
Должно быть так
у внутренний DSL на Ruby. Для этого мне нужно программно создавать именованные классы и вложенные классы. Каков наилучший способ сделать это? Я считаю, что есть два способа сделать это: использованиеClass.new создать анонимный класс, а ...
Ответ, который начинается с «Я не смотрел на источник, но» на самом деле не является ответом на вопрос вида «Как программное обеспечение X реализует Y?»
овольно любопытно, как эта штука работает. после того, как требуется 'Синатра' тогда я могу вызвать get () в области видимости верхнего уровня. покопавшись в исходном коде, я нашел эту структуру get () module Sinatra class << self def get ... ...
библиотека
ython эквивалентно Ruby'smethod_missing метод? Я пытался с помощью__getattr__ но этот хук относится и к полям. Я только хочу перехватить вызовы метода. Как Python способ сделать это?
std :: ratio мощность стандартного std :: ratio во время компиляции?
У меня сложный вопрос с математической, алгоритмической и метапрограммирующей точки зрения. Рассмотрим следующую декларацию: template<class R1, class R2> using ratio_power = /* to be defined */;на основе примераstd::ratio ...
Как вы оцениваете строку как выражение clojure?
Как бы я получить что-то похожее на следующее: (evaluate-text "(+ 1 2)") ; resolves to 3
Выход:
1.8] Предположим, у меня есть: dummy "string" do puts "thing" endТеперь это вызов метода, который имеет в качестве входных аргументов одну строку и один блок. Приятно. Теперь предположим, что у меня может быть много похожих вызовов (разные ...
Несмотря на все это, я бы предложил использовать библиотеку отражений, как предлагали другие. Хорошая библиотека, которую я часто рекомендую - это библиотека protobuf от Google, в которой есть рефлексия и сериализация, а также многоязычная поддержка. Однако он предназначен только для объектов только для данных (например, простые старые структуры, но с векторами и строками).
отаю над приложением с основанной на сообщениях / асинхронной агентоподобной архитектурой. Будет несколько десятков различных типов сообщений, каждый из которых представлен типами C ++. class message_a { long long identifier; double some_value; ...
Нечто подобное может сделать это, хотя последовательность Boost.PP не делает ее более красивой.
у зашифровать / кодировать строку во время компиляции, чтобы исходная строка не появлялась в скомпилированном исполняемом файле. Я видел несколько примеров, но они не могут принимать строковый литерал в качестве аргумента. Смотрите следующий ...