Публикации по теме 'metaprogramming'
Представляем пикоког
Picocog — это легкая и новая библиотека Java с открытым исходным кодом, предназначенная для помощи в создании программного кода.
Что такое генерация кода?
Генерация кода — это процесс, с помощью которого исходный код может быть автоматически сгенерирован на основе некоторых входных данных. Мы описываем этот набор входных данных как «модель».
Генерация кода обычно работает следующим образом:
Определить модель/использовать существующую модель. Опросить модель и сгенерировать..
Руководство программиста по линейным системам
Есть интерактивная версия этой статьи на словах и кнопках: https://wordsandbuttons.online/programmers_introduction_to_linear_equations.html
Системы линейных уравнений обычно преподают в средней школе или колледже. Скорее всего, вы уже знаете, как их решать несколькими способами, из которых вам никогда не приходилось использовать на практике.
Так зачем вам руководство по этому поводу?
Одна из причин заключается в том, что поскольку эта тема широко известна, она представляет собой..
Внимательные декораторы и удобные прокси — «Метапрограммирование для всех».
Внимательные декораторы и удобные прокси — метапрограммирование для всех.
Ссылка на мероприятие:
Виртуальная встреча CinciJS — 10 марта 2021 г. (ЗАВЕРШЕНО)
Презентация Google слайдов
GitHub Repo for Decorators Playground (включает Babel Legacy, Babel TC39, Typescript)
Обзор:
Метапрограммирование — это магия. Возможность устранить избыточность, обеспечить согласованность и беспрепятственно интегрировать шаблоны проектирования — мечта каждого разработчика...
Метапрограммирование: что это такое и как работает в Ruby
Метапрограммирование - что это такое и почему вам это нужно? Базовое слово мета можно определить как самореферентный , подразумевая, что метапрограммирование относится к коду, который пишет код. Если вы ленивы, как я, это очень привлекательная концепция: написание кода для генерации большего количества кода для вас означает выполнение большего объема работы с меньшим количеством набора текста. Итак, как это работает и как это выглядит?
Учтите следующее:
class Person..
Представляем Hone: модульную объектно-ориентированную графическую библиотеку для Джулии
Внесение последних штрихов в первую версию моей графической библиотеки для Юлии.
Графические данные могут быть очень захватывающими, особенно если вы какое-то время работали над функцией построения графиков, и теперь они наконец-то работают так, как вы этого хотите. Хотя многие параметры по-прежнему отсутствуют и предстоит еще много работы, есть много действительно многообещающих функций, которые уже были устранены. С этими замечательными вещами также приходит толчок к освоению первой..
Вопросы по теме 'metaprogramming'
Как я могу динамически добавить метод к классу Math в Ruby on Rails?
Я пытаюсь добавить в класс Math в Ruby on Rails следующий метод:
class Math
def self.round_with_precision(number, precision)
scalar = 10.0 ** precision
number = number * scalar
number = number.round
number = number / scalar...
1066 просмотров
schedule
02.10.2021
Добавление атрибутов класса с помощью цикла for в Python
Я пытался создать класс из словаря:
class attr:
for key in objects_type:
setattr(attr, key, lambda cl: list())
Это дает ошибку, заключающуюся в том, что attr не определен во время цикла for. Я знаю, что могу написать:
class...
8003 просмотров
schedule
22.11.2021
Что такое Ruby-аналог метаклассов Python?
В Python есть идея метаклассов, которые, если я правильно понимаю, позволяют вам изменять объект класса в момент создания. Вы изменяете не класс, а объект, который должен быть создан и инициализирован.
Python (по крайней мере, с версии 3.0, я...
1623 просмотров
schedule
03.12.2021
Существуют ли в реальном мире приложения, использующие метапрограммирование?
Все мы знаем, что метапрограммирование - это концепция кода == данных (или программ, которые пишут программы).
Но есть ли какие-нибудь приложения, которые его используют, и каковы преимущества его использования?
Этот вопрос можно закрыть, но я...
1518 просмотров
schedule
21.11.2021
Проверка во время компиляции, находится ли указанное значение в диапазоне типа
Можно ли это проверить:
template<class IntType,IntType value>
struct X{};
Под этим я подразумеваю, можно ли проверить, что значение, предоставленное пользователем, «вписывается» в тип IntType (который может быть любым из целочисленных...
1993 просмотров
schedule
18.11.2021
Как создавать свойства с делегированными аксессорами?
Я новичок в С # и ломал голову над этим пару дней. В основном я хочу создать тип свойства с логикой получения и установки, делегированной базовому типу, которому принадлежит этот параметр.
Это всего лишь одно приложение: свойство, значение...
580 просмотров
schedule
31.10.2021
Динамические методы CoffeeScript
Я пытаюсь динамически создавать методы в сценарии кофе, но, как показывает мой код, итератор, который я использую для создания методов, не сбрасывает свои переменные между итерациями, поэтому я использую общие переменные, которые конфликтуют:...
2490 просмотров
schedule
06.10.2021
PHP: обернуть все функции класса в подкласс
Работая с классом библиотеки PHP, и я хотел бы обернуть все его общедоступные функции в подкласс ... Что-то вроде:
class BaseClass
{
function do_something()
{
some;
stuff;
}
function do_something_else()
{...
6452 просмотров
schedule
18.10.2021
АОП против метапрограммирования
Есть ли разница между АОП и метапрограммированием? Можно ли сказать, что методы метапрограммирования (переплетение IL, динамическое подклассирование и т. Д.) - это механизмы для достижения АОП, который больше касается разделения сквозных проблем от...
513 просмотров
schedule
04.11.2021
class_eval против instance_eval
Есть ли разница в том, как class_eval & instance_eval работают, кроме def ? Внутри class_eval блока def определяется метод самого класса (то есть метод экземпляра), а внутри instance_eval def метод определяет собственный класс класса (то...
1491 просмотров
schedule
02.12.2021
Реализация Loki IndexOf для TypeList
Я реализовал TypeList на основе Loki, основываясь на чтении из:
http://aszt.inf.elte.hu/~gsd/halado_cpp/ch06s09.html
и видел этот код с сайта для IndexOf (чтобы найти индекс типа в списке типов):
template <class T>
struct IndexOf<...
704 просмотров
schedule
30.10.2021
Метакласс Python для автоматического запуска метода класса в производном классе
Я хочу автоматически запускать метод класса, определенный в базовом классе, в любом производном классе во время создания класса. Например:
class Base(object):
@classmethod
def runme():
print "I am being run"
def...
2835 просмотров
schedule
15.09.2021
Определение динамического метода в ruby
Что делают $1.to_sym => args[0] и ($1.to_sym,*args,&block) в следующей строке кода?
class Table
def method_missing(id,*args,&block)
return as($1.to_sym,*args,&block) if id.to_s =~ /^to_(.*)/
return rows_with($1.to_sym...
384 просмотров
schedule
14.09.2021
Можно установить машину! и установите-cdr! реализованы как макросы?
Можно ли реализовать set-car! и set-cdr! переносимо как макросы, используя set! в схеме? Или для этого потребуется специальный доступ к базовой системе хранения?
Я спрашиваю, потому что я реализую свой собственный интерпретатор схемы, и я...
1436 просмотров
schedule
03.11.2021
Принципы дизайна, лежащие в основе std :: ratio ‹›
Я смотрел на класс std::ratio<> из стандарта C ++ 11, который позволяет сделать рациональную арифметику во время компиляции.
Я нашел дизайн шаблона и операции, реализованные с классами, слишком сложными, и не нашел причин, по которым они...
5024 просмотров
schedule
05.09.2021
Создание методов класса из модуля
Рассмотрим простой пример здесь:
class Base
@tag = nil
def self.tag(v = nil)
return @tag unless v
@tag = v
end
end
class A < Base
tag :A
end
class B < Base
tag :B
end
class C < Base; end
puts "A: #{A.tag}"...
152 просмотров
schedule
29.11.2021
Как работает функция, которая вызывается внутри объявления класса?
Есть этот код:
>>> class Foo:
... zope.interface.implements(IFoo)
...
... def __init__(self, x=None):
... self.x = x
...
... def bar(self, q, r=None):
... return q, r, self.x
...
... def __repr__(self):
......
793 просмотров
schedule
14.10.2021
Добавить сообщения об ошибках компиляции в макрос SFINAE
Я играю с SFINAE , но я пытаюсь получить значимую ошибку компилятора информация при работе с кодом, сгенерированным макросами. Я использовал ЭТОТ ответ , чтобы выполнить следующее: (Я хочу проверить с помощью member_test (a), есть ли у типа A...
528 просмотров
schedule
02.12.2021
заполнять статические массивы шаблонов метапрограммированием и вариативными шаблонами
Я знаю, что есть более простые способы сделать это, но я хотел бы инициализировать во время компиляции карту из развернутого индекса 2-го массива в его общий формат.
Я хотел бы сделать это без необходимости создавать экземпляр объекта массива....
1640 просмотров
schedule
15.10.2021
Создание функции php mapper
Я хочу создать функцию сопоставления, которая принимает массив, строку ключа и строку значения. Эти две строки содержат код PHP, который я хочу оценивать по каждому элементу в массиве.
Возвращаемые значения этих двух вызовов следует использовать...
355 просмотров
schedule
01.11.2021