На самом деле, еще в 80-х годах стандарт форматирования строк был printf
, с форматными строками, такими как %d
для целых чисел или %s
для строк, и непонятными модификаторами формата (такими как %06d
, который рисует целое число и дополняет его нулями слева до шести символов). Причина заключалась в том, что система типов C была очень плохой, и printf
не мог угадать, какие данные она получала (был ли это указатель на строку? Целое число? Число с плавающей запятой), что делало это необходимым указать тип аргументов внутри строки формата. Этот подход остался.
Этот формат был перенесен с C (и C ++) на многие языки (Java, PHP, OCaml, Scilab ...) и несколько инструментов (например, функция console.log
Firebug).
Самый ранний формат {0}
, который я видел, был в C #, в начале 2000-х годов. До сих пор я не видел этого много за пределами C #.