Устанавливает режим синхронизации файла.
Это влияет на будущие операции и приводит к тому, что выходные данные записываются без буферизации блоков.
Если f.tty?
истинно, то есть, если файл подключен к консольному устройству, то выход не буферизируется блоком. Но когда вывод идет в канал или файл, f.tty?
будет ложным, и библиотека ввода / вывода переключится на блочную буферизацию, , то есть накапливает вывод в буфер и записывает его, только если закрыто, программа закрывается или буфер заполняется. Это быстрее и конечный результат тот же.
Установка f.sync = true
отключает этот переключатель. Это может быть полезно, если вывод канала связан с чем-то, что на самом деле является консолью или каким-то образом интерактивным, или если содержимое файла активно отслеживается.