Запитання з тегом «metaprogramming»

Метапрограмування - це можливість перепрограмувати середовище програмування, як у макросах або метакласах.

11
Складіть хешування часових рядків
Я читав в декількох різних місцях, що за допомогою нових рядкових літералів C ++ 11, можливо, можливо обчислити хеш рядка під час компіляції. Однак, схоже, ніхто не готовий вийти і сказати, що це можливо чи як це буде зроблено. Чи можливо це? Як виглядав би оператор? Мені особливо цікаві такі …

2
Отримати значення змінної екземпляра, отримавши її ім’я
Взагалі, як я можу отримати посилання на об’єкт, ім’я якого я маю в рядку? Більш конкретно, у мене є список імен параметрів (змінні-члени - побудовані динамічно, тому я не можу посилатися на них безпосередньо). Кожен параметр є об'єктом, який також має from_s метод. Я хочу зробити щось на зразок наступного …


4
Ruby Metaprogramming: імена змінних динамічних екземплярів
Скажімо, у мене є такий хеш: { :foo => 'bar', :baz => 'qux' } Як я міг динамічно встановити ключі та значення, щоб стати змінними екземпляра в об'єкті ... class Example def initialize( hash ) ... magic happens here... end end ... щоб я закінчив наступне всередині моделі ... @foo …

4
Що таке атрибут __dict __.__ dict__ класу Python?
>>> class A(object): pass ... >>> A.__dict__ <dictproxy object at 0x173ef30> >>> A.__dict__.__dict__ Traceback (most recent call last): File "<string>", line 1, in <fragment> AttributeError: 'dictproxy' object has no attribute '__dict__' >>> A.__dict__.copy() {'__dict__': <attribute '__dict__' of 'A' objects> ... } >>> A.__dict__['__dict__'] <attribute '__dict__' of 'A' objects> # What …

30
Python проти Ruby для метапрограмування [закрито]
В даний час це питання не підходить для нашого формату запитань та відповідей. Ми очікуємо, що відповіді будуть підтверджені фактами, посиланнями чи експертизою, але це питання, швидше за все, вимагатиме дебатів, аргументів, опитування чи розширеного обговорення. Якщо ви вважаєте, що це питання можна покращити і, можливо, знову відкрити, відвідайте довідковий …

6
Що означають «реіфікація» та «реіфікація» в контексті (функціонального?) Програмування?
Я багато читаю цей термін у блогах про haskell та функціональне програмування (особливо в блозі sigfpe ), але я не маю уявлення про те, що це означає. Я в більшості випадків виходжу з того, що не знаю цього, але, мабуть, я б набагато краще розумів тексти, якби знав. Google мені …

2
Знайдіть класи, доступні в модулі
У мене є модуль MyModule. Я динамічно завантажую в нього класи. Як я можу отримати список класів, визначених у його просторі імен? Приклад: def load_plugins Dir.glob(File.dirname(__FILE__) + '/plugins/*.rb') do |f| MyModule.class_eval File.read(f) end # now how can I find the new classes I've loaded into MyModule? end Слід сказати, що …

4
Динамічне визначення класу з назвою класу
Як я динамічно визначаю клас у Ruby ІМЯ? Я знаю, як динамічно створювати клас без імені, використовуючи щось на зразок: dynamic_class = Class.new do def method1 end end Але ви не можете вказати назву класу. Я хочу динамічно створити клас з іменем. Ось приклад того, що я хочу зробити, але, …


3
Виконати функцію всередині шаблону функції лише для тих типів, у яких визначена функція
У мене є шаблон функції, який приймає багато різних типів як його введення. З цих типів лише один з них має getInt()функцію. Отже, я хочу, щоб код запускав функцію лише для цього типу. Просимо запропонувати рішення. Дякую #include <type_traits> #include <typeinfo> class X { public: int getInt(){ return 9; } …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.