Результаты поиска по запросу "metaprogramming"

7 ответов

Есть ли хук, похожий на наследуемый Class #, который срабатывает только после определения класса Ruby?

#inherited называется сразу послеclass Foo заявление. Я хочу что-то, что будет работать только послеend утверждение, которое закрывает объявление класса. Вот код для иллюстрации того, что мне нужно: class Class def inherited m puts "In ...

4 ответа

Возможно ли реализовать динамические геттеры / сеттеры в JavaScript?

Я знаю, как создавать методы получения и установки для свойств, имена которых уже известны, делая что-то вроде этого: // A trivial example: function MyObject(val){ this.count = 0; this.value = val; } MyObject.prototype = { get value(){ return ...

2 ответа

Является ли метапрограммирование подмножеством рефлексии?

Раньше я думал, что метапрограммирование включает в себя изменение программы, и (как и некоторые ответы наЧто такое рефлексия и почему она полезна? [https://stackoverflow.com/questions/37628/what-is-reflection-and-why-is-it-useful] ) это ...

ТОП публикаций

2 ответа

Частичная специализация шаблона с ошибкой нескольких аргументов шаблона

Когда я использую частичную специализацию шаблона в классе с одним аргументом шаблона, я могу специализировать метод следующим образом: #include <cstdlib> template< std::size_t Dim > class Test { public: int foo(); }; template< std::size_t Dim > ...

4 ответа

Можно ли выяснить тип параметра и тип возврата лямбда?

Учитывая лямбду, возможно ли выяснить ее тип параметра и тип возвращаемого значения? Если да, то как? В основном я хочуlambda_traits который можно использовать следующими способами: auto lambda = [](int i) { return long(i*10); ...

1 ответ

Найти классы, доступные в модуле

У меня есть модульMyModule, Я динамически загружаю классы в него. Как я могу получить список классов, определенных в его пространстве имен? Пример: def load_plugins Dir.glob(File.dirname(__FILE__) + '/plugins/*.rb') do |f| MyModule.class_eval ...

4 ответа

C ++ 11 аргумент функции constexpr передан в аргументе шаблона

Раньше это работало несколько недель назад: template <typename T, T t> T tfunc() { return t + 10; } template <typename T> constexpr T func(T t) { return tfunc<T, t>(); } int main() { std::cout << func(10) << std::endl; return 0; }Но сейчасg++ ...

1 ответ

Преобразовать тип кортежа

Так что я новичок в повышении MPL и не знаю, как использовать его со стандартными типами. Я хочу метафункцию, которая охватывает этот тип: std::tuple<T0, T1, ..., TN>В это: std::tuple< std::function<T0(std::tuple<T0, T1, ...>, std::tuple<T0, ...

2 ответа

Как изменить себя в блоке, как метод instance_eval?

Метод instance_eval меняет себя в своем блоке, например: class D; end d = D.new d.instance_eval do puts self # print something like #<D:0x8a6d9f4>, not 'main'! endЕсли мы определим метод самостоятельно (или любые другие методы (кроме ...

3 ответа

Потокобезопасность: переменные класса в Ruby

Выполнение записи / чтения переменных класса в Ruby не является потокобезопасным. Выполнение записи / чтения переменных экземпляра представляется поточно-ориентированным. Тем не менее, является ли потокобезопасным выполнение записи / чтения ...