Публикации по теме 'metaprogramming'


Магия метапрограммирования: часть первая
вступление Всем привет! У меня появился интерес к метапрограммированию на Ruby — поэтому я хочу написать об этом. Предстоит осветить тонну , поэтому я собираюсь сделать серию коротких постов. Вот так! Метод #отправить Знаете ли вы, что вы можете выполнить метод для любого объекта Ruby, передав имя метода в виде символа в качестве аргумента методу #send? Давай попробуем! 001 > 1.send(:to_s) => "1" 002 > "hello".send(:upcase) =>..

Мета-программирование на Python
Краткое руководство по декораторам и метаклассам Недавно я столкнулся с очень интересной концепцией - метапрограммированием на Python . Я хотел бы поделиться своими выводами по этой теме в этой статье. Я надеюсь, что это поможет вам осознать это, потому что они говорят, что это крепкий орешек. Что такое метапрограммирование? Итак, одной строкой: «Мета-программирование - это акт написания кода, который манипулирует кодом». Чего ждать? Да, вы правильно прочитали. Код,..

Постижимые макросы Rust
Разбор внутренней работы и авторства макросов в Rust Макросы Rust — это конструкции времени компиляции, которые работают с потоками токенов языка Rust. Коротко о компиляции Что такое «токены языка Rust»? Когда компилятор начинает компилировать программу, он сначала читает файл исходного кода. Для простоты предположим, что компилятор хранит этот исходный код в строке. Следующий шаг — пройтись по строке, символ за символом, и разделить ее на «токены». Например, фрагмент Rust,..

Декоратор внутри класса Python
Предположим, нам нужен декоратор, который мы будем использовать только внутри одного определенного класса. Что-то вроде этого: Где определить этот декоратор? Функция внутри класса Немедленное побуждение состоит в том, чтобы поместить atomic_rating_change в сам класс: Это действительно сработает, но в этом подходе есть серьезный недостаток: atomic_rating_change становится методом экземпляра класса User . В этом нет никакого смысла. Более того, он даже не работает как..

Метапрограммирование в Ruby: плюсы, минусы и подводные камни
Ruby известен своими возможностями метапрограммирования, которые позволяют разработчикам писать код, который пишет код. Эту мощную функцию можно использовать для автоматизации повторяющихся задач, создания динамического и гибкого кода и создания пользовательских предметно-ориентированных языков (DSL). Однако, как и любой мощный инструмент, метапрограммирование в Ruby может иметь свои плюсы, минусы и подводные камни. Плюсы метапрограммирования в Ruby: Производительность...

Метапрограммирование Ruby
Введение: Эпи 1 Привет ! Всем, сегодня мы поговорим об удивительной функции метапрограммирования в Ruby. Метапрограммирование в целом - это языковая функция, с помощью которой вы пишете код, который пишет код. Метапрограммирование - это, по сути, написание кода, который пишет код. Но разве не этим занимаются генераторы кода и компиляторы? Например, вы можете написать аннотированный код Java, а затем использовать генератор кода для вывода файлов конфигурации XML. В широком смысле..

В этой теме я расскажу о метапрограммировании в Javascript.
В этой теме я расскажу о метапрограммировании в Javascript. Если мы сначала погуглим, мы увидим это определение в Википедии: Метапрограммирование  – это метод программирования, при котором "компьютерные программы" могут обращаться с другими программами как со своими данными. Это означает, что программа может быть спроектирована так, чтобы читать, генерировать, анализировать или преобразовывать другие программы и даже изменять себя во время работы. Короче говоря,..