Здравствуйте, ·, Вы писали:
·>Вот такие макросы. Простые до безобразия, но, имхо, довольно мощные, покрывают довольно много сценариев.
Не хватает опциональных спецификаторов для форматирования.
Если взять тот же пример с SQL, то в JDBC в общем случае требуется указывать тип аргумента.
Т.е. правильный код должен выглядеть примерно так:
PreparedStatement ps = db."insert into person (name) values (\{name:VARCHAR2})";
ps.executeUpdate();
Этого, к сожалению, нет. Конечно можно вынести их за фигурную скобку и парсить строку, но это уже не совсем то... Лучшее, что можно придумать это обёртку:
PreparedStatement ps = db."insert into person (name) values (\{arg(name, VARCHAR2)})";
ps.executeUpdate();
Также они были бы полезны для обычного форматирования строк:
fmt"n=\{n:02x}" вместо
format("n=%02x", n).
Но в целом штука удобная и полезная, да.
Не понял, правда, при чём тут макросы.