Re[2]: Библиотека форматирования marty::format
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 14.04.25 19:58
Оценка: :)
Здравствуйте, kov_serg, Вы писали:

Спасибо за отзыв


M>>Возможности библиотеки

_>Обычно инструмент, должен решать какие-то задачи или устранять рутину, а вот уже возможности вытикают из имеющихся ограничений.

Я решал проблему встройки форматирования в мой очередной изобретаемый DSL


M>> * Добавление возможностей C++ std::format из C++20 в C++17 (бэкпорт новых фич в старый стандарт).

_>То есть c++17 это минимальное требование.

Да, 17ый стандарт есть уже практически везде, чего пока не сказать о C++20


M>> * Совместимость форматной строки с форматной строкой языков Python и C++. Некоторые возможности этих языков игнорируются, но не вызывают ошибки при разборе форматной строки. В библиотеке совмещены возможности форматирования из языка `Python` и возможности форматирования `C++20` `std::format`.

M>> * Поддержка именованных аргументов для C++ при использовании соответствующих контейнеров для аргументов.
_>Это здорово

Спасибо


M>> * Поддержка передачи аргументов через std::initializer_list для непосредственного использования из C++.

M>> * Упор на использование библиотеки в своих скриптовых языках/DSL языках.
_>В скриптовых языках есть более удобное форматирование например https://jinja.palletsprojects.com/en/stable/templates/ https://docs.phalcon.io/4.2/volt

А можно носом ткнуть? Джинджа вроде же питоновская либа, форматирование там питоновское. По крайней мере, то, что по ссылке, выглядит питоновским


M>> * Поддержка Unicode в кодировке UTF-8.

_>А как вы ширину utf8 строки считаете для выравнивания текста?

Пока костыльно, есть список пробелов нулевой ширины и диапазоны диакретиков, на 95% случаев должно хватит. Если приспичит, буду думать, как присунуть поддержку i18n или как оно там


M>> * Поддержка чисел с плавающей точкой произвольной размерности marty::Decimal.

_>Серьёзно по основанию 10? Это чисто для бухгалтерии тольео такое надо.

Да. Именно для бухгалтерии и делалось, а точнее — для экспериментов с торговлей на бирже


M>> * Поддержка пользовательских типов строк вместо std::string и поддержка микроконтроллеров (STM32, как пример). Пока не реализовано, но весьма ready, требует отключения части кода условными макросами, также требуется модифицировать некоторые части, пока завязанные на std::string.

_>А отключить тесты можно?

Да, наверное можно. Я пока проблем не огрёб с этой либой, но полагаю, они могли появиться после того, как я "опакетил" эту либу под CMake. Спасибо за подсказку


M>> * Возможность создания собственной системы/библиотеки форматирования на базе данной библиотеки с поддержкой вывода собственных произвольных типов данных.

_>А фильтры можно? Типа {{x|filter1|filter2}} => filter2(filter1(x)). (Что бы можно было sql запросы наример или xml экранировать строки или просто camelcase делать). Можноли изменить кастомизировать функцию расчета ширины.

Пока нет. Если накинешь ссылку на спецификацию этих фильтров, я подумаю, можно ли


_>Надо не вот, зацените, какие замечания. Что требует установить, собрат, прогнать тестовые сценарии, осмотреться и ещё кучу действий. Мало лишь кто способен просто так колупаться в чужом коде, более требующее длительного погружения, без везких причин.

_>Вы бы начали с примеров, как всё красиво и компактно и вот если сделать так то будет счастье, и ссылку на счастье.

Ну, в доке там примеры есть
Наверное, надо было их скопировать для затравки


_>Шамжа приносить темы обсуждение котрыех не требует больших усилий, иногда и смысла там тоже не много. Зато он их наваливает, как-будто ему за это платят


Это да. А мне хочетелось бы нормальной порки, чтобы расти как разработчику, что требует некоторого погружения от читателей. Думал, что либа форматирования — годный повод для такого
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.