170 похожих чатов

Друзья вопрос тупой но задам) а вот у нас у

строки есть метод arg, а в нем как в питоне можно задавать имена аргументов "SOME String ard %name, %soname".arg(....) или может быть есть вариант, а то циферное обочзначение %1 крайне не удобна?

24 ответов

18 просмотров

Нет такого метода.

Есть boost::format всегда.

You can pass named arguments with fmt::arg: fmt::print("Hello, {name}! The answer is {number}. Goodbye, {name}.", fmt::arg("name", "World"), fmt::arg("number", 42)); https://fmt.dev/latest/index.html

Alexander Tulikov
You can pass named arguments with fmt::arg: fmt::...

Эх, было бы классно, если можно было user defined literal'ы делать так: {"Key", "Val"}_arg

Danya🔥
Эх, было бы классно, если можно было user defined ...

If your compiler supports C++11 user-defined literals, the suffix _a offers an alternative, slightly terser syntax for named arguments: using namespace fmt::literals; fmt::print("Hello, {name}! The answer is {number}. Goodbye, {name}.", "name"_a="World", "number"_a=42);

Danya🔥
О так даже лучше

Ещё лучше было бы просто: const std::string name = "World"; const int number = 42; print(f"Hello, {name}! The answer is {number}. Goodbye, {name}."); Надеюсь, доживу.

Kirill Bolshakov
Ещё лучше было бы просто: const std::string name =...

И чтобы захватывала весь контекст?

Stas Krukouskiy
И чтобы захватывала весь контекст?

Нет нигде захвата - имена разрешаются как с обычными переменными

Kirill Bolshakov
Ещё лучше было бы просто: const std::string name =...

Будет рефлексия, будет и интерполяция строк.

Kirill Bolshakov
Дак для этого рефлексия не нужна

От литералов имён переменных к самим переменным без рефлексии не перейдёшь.

Alexander Tulikov
От литералов имён переменных к самим переменным бе...

f"Hello, {name}" -> std::format("Hello, {}", name); Где тут рефлексия нужна?

Kirill Bolshakov
f"Hello, {name}" -> std::format("Hello, {}", name)...

Ты думаешь это на макросах можно сделать?

Alexander Tulikov
Ты думаешь это на макросах можно сделать?

Почему на макросах? Пусть компилятор при виде f сам это делает

Kirill Bolshakov
Почему на макросах? Пусть компилятор при виде f са...

А, как фича языка отдельная. Не думаю, что с этим будут заморачиваться.

Alexander Tulikov
А, как фича языка отдельная. Не думаю, что с этим ...

в питоне и C# заморочились - в С++ тоже можно

Kirill Bolshakov
в питоне и C# заморочились - в С++ тоже можно

Это потребует завязки языка на стандартную библиотеку, а в С++ этого не любят.

Alexander Tulikov
Это потребует завязки языка на стандартную библиот...

Уже есть такая завязка, лично мне на это пох. Для любителей кастомизации можно придумать костыли, конечно

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта