Делаешь итератор из цифр в обратном порядке, через каждые 3 цифры суёшь запятую (intersperse и chunks для удобства), делаешь rev итератора, затем collect в String. Проще некуда
uvelichitel, в расте она вполне себе "настоящая", но я говорю прежде всего про "хорошую". не такую, как в го, а ту, которая является полезным инструментом, который помогает решать проблемы. кстати в расте она бесплатная, буквально (как в общем-то почти всё что есть в языке). в рантайме ты ничего не платишь за использование дженериков, если не укажешь сам явно, что нужна динамическая диспетчеризация.
uvelichitel, Кстати да, за примерном хороших дженериков приходи в раст. Там их хочется использовать и это крайне удобно (да хотя бы мне не нужно создавать третий интерфейс ради того, чтобы сказать, что T должно реализовывать один и второй интерфейсы, я могу просто сказать T: Read + Write, хотя это максимально минорная фича)
uvelichitel, так я и не про производительность, а про то, насколько они кастрированные, что их дальше функций из примеров (где сортировка, нахождение минимумов и максимумов) не очень-то и хочется (и можется) применять.
А мономорфизация ради производительности и в расте есть (кстати не знаю, статический или динамический диспатчинг в го, но полагаю, что динамический).
s60, могу, но зачем тебе что-то объяснять, если ты даже документацию ленишься читать? всё равно в макдак пойдёшь через месяц, чего на тебя время тратить
Да ну брось:)