Zefick
> Кем запрещённая? Можно пруфы? Ты как всегда пишешь чушь. Если уж и существуют какие-то общепризнанные истины в форматировании, то это только то, что как раз именно конкатенация строк это наихудший из возможных способов.
Нечасто соглашаюсь с зефиком, но тут ты прав. printf/sprintf - отличные инструменты для адекватного форматирования строк. sscanf тоже вполне ничего, если строка точно имеет нужный форматю.
=A=L=X=
> Там просто не было такого и приходилось лишаться и изобретать. Изобрели.
В паскале строки изначально были базовым типом с кучей функционала и все равно Format там есть, причем его формат почти 1 в 1 как в C.
monobogdan
В паскале был write(ln) с особой семантикой.
Ничего похожего на принтф не было.
=A=L=X=
Только хо ел предложить перейти на паскаль но ты меня опередил
=A=L=X=
> Ничего похожего на принтф не было.
Да?
https://www.freepascal.org/docs-html/current/rtl/sysutils/format.html
monobogdan
Найди format в стандарте паскаля раньше эпохи дельфи.
Не было там никогда такого.
=A=L=X=
> Какой травмой детства и изнасилованием в жопу малолетки конечно проникнуты тут высказывавшиеся на тему того что нельзя конкатенировать строку и число вот просто как оно есть в скриптовых языках мне лично НЕВЕДОМО.
> Это непостижимо. Какие то вот травмы видимо глубокие. Слава богу у меня ничего такого не случалось.
Продолжай себя в этом убеждать.
=A=L=X=
В мане турбопаса не нашел. В Borland Pascal тоже не было? Он все таки круче был.
Went
> Что мешало сделать вместо неочевидного
> конструктора свободную функцию с
> осмысленным названием?
Язык не должен изобиловать названиями функций, переменных, констант. Представьте ситуацию, когда вы пишете свою функцию, дали ей название, а оно... упс 😮 уже занято.
Имбирная Ведьмочка
https://helpme1s.ru/funkciya-format-v-yazyke-1s-8-v-primerax
/// Как задать представление значения типа Булево /// при выводе в 1с 8.3, 8.2 Сообщить(Формат(Ложь, "БЛ=""врёшь!""")); // врёшь! Сообщить(Формат(Истина, "БИ=""правду говоришь""")); // правду говоришь /// Как задать представление периода при выводе в 1с 8.3, 8.2 Сообщить( ПредставлениеПериода( НачалоКвартала(ТекущаяДата()), КонецКвартала(ТекущаяДата()), "ФП=Истина")); // 3 кв. 2013 г., влияет, если 6 или 9 месяцев /// Как задать число прописью при выводе в 1с 8.3, 8.2 Сообщить( ЧислоПрописью(123.65) ); // Сто двадцать три 65 Сообщить( ЧислоПрописью( 123.65,, "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2") ); // Сто двадцать три рубля 65 копеек
Когда в плюсах появится поток вывода в ЧислоПрописью - тогда продолжим этот разговор.
=A=L=X=
> Когда в плюсах появится поток вывода в ЧислоПрописью - тогда продолжим этот разговор.
Сразу на 120 языках?
Имбирная Ведьмочка
> Сразу на 120 языках?
Почему бы и нет. Или у вас места на диске мало осталось под libc++.dll
Имбирная Ведьмочка
> Сразу на 120 языках?
Да хотя бы на одном.
Вангую что не появится.
Это прикладная тематика и как ни странно, но вывод конкетенация строк это та же самая базовая прикладная тематика.
Нет никакого логического обоснования почему строку нельзя сочетать с числом чтобы родить строку с представлением числа.
Да все скриптовые языки только этим и занимаются. Им дозволено и всё норм.
Но как только в Arduino IDE появился класс String который это делает, то что взыграло то? Откуда агрессия и неприятие?
Что случилось?
Элементарная штука которая мне экономит кучу символов в коде - с каких пор краткость и лаконичность кода стала злом?
Шозанахер?
С кем и почему я сейчас спорю зачем то, а не собираю кучу одобрений и прозрений "а что так можно было????"?
P.S.
Да, ептыть по стандартам C++ так можно было - писать String("abc") + 123 + " а в других единицах это " + 6.7 - и это компилируется и работает.
И это круто. Это прикольно. Это экономит.
И это не std::string, да.
=A=L=X=
> Да хотя бы на одном.
На одном — в стдлибе не нужно. Эта либа не для одного пузыря делается. Либо на всех, либо никак.
=A=L=X=
> Да все скриптовые языки только этим и занимаются. Им дозволено и всё норм.
Ну вот какие такие "все"? Я вот только джаваскрипт знаю, где 2 + "2" == "22". В питоне — это рантайм ошибка. В пшп и луа — конкатенация вообще по-другому обозначается. Какие такие "все" языки разрешают смешанный плюс, кроме позорного джаваскрипта и вот этого твоего ардуино-стринга?
iw4nna.rock
> Почему бы и нет. Или у вас места на диске мало осталось под libc++.dll
А что делать, когда через 10 лет какое-нибудь Министерство Культуры Ебипта выдаст указ, что теперь, в прописном написании числа "12345", вместо закорючки налево нужно делать закорючку направо — срочно выпускаем новый стандарт цпп?
iw4nna.rock
Совсем толсто.