Re: String templates (JEP 430)
От: vsb Казахстан  
Дата: 02.08.23 15:45
Оценка:
Здравствуйте, ·, Вы писали:

·>Вот такие макросы. Простые до безобразия, но, имхо, довольно мощные, покрывают довольно много сценариев.


Не хватает опциональных спецификаторов для форматирования.

Если взять тот же пример с 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).

Но в целом штука удобная и полезная, да.

Не понял, правда, при чём тут макросы.
Отредактировано 02.08.2023 15:48 vsb . Предыдущая версия . Еще …
Отредактировано 02.08.2023 15:47 vsb . Предыдущая версия .
Отредактировано 02.08.2023 15:47 vsb . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.