Разница между функциями io:format и io_lib:format в Erlang заключается в их функциях и возвращаемых значениях. 1
io:format — функция вывода, она отправляет отрисованную версию строки на терминал (включая перевод строки) и возвращает значение «ok». 1 Есть несколько вариантов использования функции: запись в стандартный вывод, стандартную ошибку или открытый файл. 23
io_lib:format, в отличие от io:format, не выводит значение, а только возвращает его. 1 Возвращаемое значение — это представление строки в оболочке Erlang, с экранированными кавычками и переводом строки, заключённое в собственные кавычки. 1
Таким образом, io:format больше подходит для вывода значений, а io_lib:format — для вставки значений в строки (аналогично функциям printf в C). 1