Format
Шаблон целиком, а не текст кусочками: format вставляет значения в готовую надпись
print собирает надпись кусочками, и на длинной фразе это становится неудобно: текст разбит
по строкам программы, и что получится в итоге — видно только в голове.
format работает наоборот: сначала в буфер кладут шаблон целиком, а потом подставляют
в него значения.
Нажмите «пуск». Под блоком сообщений появится меди 120 из 300: шаблон меди {0} из {1}
попал в буфер первым, а два format заменили в нём места по очереди.
Место — это ровно три символа
Заголовок раздела «Место — это ровно три символа»Подстановочное место выглядит как {0}: фигурная скобка, цифра от 0 до 9, закрывающая
скобка. Ни пробелов, ни чисел больше девяти — такое место просто не считается местом,
и format его не увидит.
Выбирается наименьший номер, а не первое место
Заголовок раздела «Выбирается наименьший номер, а не первое место»Это правило удивляет. format ищет по буферу место с самым маленьким номером, а не то,
которое встретилось первым.
Для шаблона {1} и {0} первый format подставит значение в конец — туда, где {0}.
Порядок подстановок задаётся номерами, а не расположением в строке.
Место исчезает после подстановки
Заголовок раздела «Место исчезает после подстановки»Заменённое место пропадает из буфера, поэтому следующий format найдёт следующее по номеру.
Двух значений в одно место не положить, а лишний format без свободных мест ничего не сделает.
| Что в буфере | format 120 даёт |
|---|---|
меди {0} |
меди 120 |
{1} и {0} |
{1} и 120 |
меди 0 |
меди 0 — места нет, значение потеряно |
| пусто | пусто — подставлять некуда |
Значения превращаются в текст по тем же правилам, что и у print: целое печатается без
дробной части, здание — именем блока, пустота — словом null. Про это урок
«Что во что печатается».
Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.