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


Изучение красоты декларативных макросов в Rust.
Недавно я работал над одним из своих проектов, и мне нужно было написать некоторую логику для обработки ошибок. Задача была проста. Я должен был убедиться, что все пользовательские определения ошибок реализуют черту std::string::ToString , поскольку они должны были быть отправлены по сети через пользовательский сетевой протокол, созданный поверх TCP/IP. Предположим, что у нас есть следующее перечисление: #[derive(Debug)] enum Error { Io(std::io::Error), NotFound(&'static..

Воспроизведите звук 🔔, когда ваша функция Джулии будет завершена.
Получите звуковое уведомление, когда ваш скрипт будет готов Давным-давно я использовал R. Иногда у меня были функции или процессы, выполнение которых занимало целую вечность , поэтому я мог уйти и заняться чем-то другим на своем компьютере, ожидая результатов. Проблема заключалась в том, что я никогда не знал, когда скрипт закончит работу . К счастью, в R есть функция beep() , которая воспроизводит звук при выполнении . Вот я и подумал, а почему бы не сделать то же самое в..

Метапрограммирование в Ruby: method_missing
Я хочу, чтобы все тесты проходили без использования ::compute где бы то ни было и вообще без изменения тестового файла . # hamming.rb class Hamming def self.method_missing(method, *args) p method p args # `method` will be anything I want it to be # args is just an array of any given arguments end end With the above snippet, you can jump into a Pry or IRB session and require the file (enter $ pry -r ./hamming.rb in your terminal to open the file in a Pry session…)..

Демистификация метапрограммирования: понимание основ
Метапрограммирование — это метод программирования, при котором код пишется для создания или управления другим кодом или для изменения поведения программы во время выполнения. Это обеспечивает большую гибкость и адаптируемость, а также упрощает поддержку и повторное использование кода. Метапрограммирование используется во многих языках программирования, включая Python, Ruby, JavaScript и Lisp, и часто ассоциируется с объектно-ориентированным программированием. Вся парадигма широка и не..

Быстрое введение в макросы на языке Julia
Краткий обзор использования макросов в Julia. Вступление Макроинструкция или макрос - это программируемый шаблон, который преобразует определенную последовательность ввода в заранее установленную последовательность вывода. Макросы обычно используются как ярлыки в программировании, чтобы избежать длинного и повторяющегося синтаксиса. Вы можете думать о макросе как о ярлыке для выполнения операции. Представьте макрос, как нажатие Ctrl + C вместо щелчка правой кнопкой мыши по тексту и..

Руководство по макросам Rust для новичков ✨
Демистификация одной из самых мощных функций Rust. Одна из самых замечательных и мощных возможностей Rust - это возможность использовать и создавать макросы. К сожалению, синтаксис для создания макросов может быть довольно пугающим, а примеры могут быть ошеломляющими для начинающих разработчиков. Я обещаю вам, что макросы Rust действительно просты для понимания. Эта статья даст вам представление о том, как создавать свои собственные макросы. Что такое макросы в Rust? 😮 Если вы..

Имя функции Python
В Python есть три вещи, которые можно рассматривать как имя функции: Исходное название блока кода Он хранится в f.__code__.co_name (где f - объект функции). Если вы используете def orig_name для создания функции, orig_name - это имя. Для ламб это <lambda> . Этот атрибут доступен только для чтения и не может быть изменен. Итак, единственный способ создать функцию с настраиваемым именем во время выполнения, о котором я знаю, - это exec : (Есть также более..