Информация об изменениях

Сообщение Re: String templates (JEP 430) от 02.08.2023 15:45

Изменено 02.08.2023 15:47 vsb

Re: String templates (JEP 430)
Здравствуйте, ·, Вы писали:

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


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

Если взять тот же пример с SQL, то в JDBC в общем случае требуется указывать тип аргумента.

Т.е. правильный код должен выглядеть примерно так:

PreparedStatement ps = db."insert into person (name) values (\{name:VARCHAR2})";
ps.executeUpdate();


Этого, к сожалению, нет.

Также они были бы полезны для обычного форматирования строк: fmt"n=\{n:02x}" вместо format("n=%02x", n).

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

Не понял, правда, при чём тут макросы.
Re: String templates (JEP 430)
Здравствуйте, ·, Вы писали:

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


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

Если взять тот же пример с SQL, то в JDBC в общем случае требуется указывать тип аргумента.

Т.е. правильный код должен выглядеть примерно так:

PreparedStatement ps = db."insert into person (name) values (\{name:VARCHAR2})";
ps.executeUpdate();


Этого, к сожалению, нет. Конечно можно вынести их за фигурную скобку и парсить строку, но это уже не совсем то...

Также они были бы полезны для обычного форматирования строк: fmt"n=\{n:02x}" вместо format("n=%02x", n).

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

Не понял, правда, при чём тут макросы.