Я не верю, что есть какая-то реальная разница, это одна из тех похмелья от BSD и C ++, которую вы найдете во многих stdlib ввода / вывода.
Разница в BSD / C ++ заключается в том, что write
эквивалентно send
без установленных флагов, но я не уверен, есть ли какие-либо флаги для установки в версии Ruby.
Метод с самым полезным отличием будет puts
, какза любой другой объект ввода-вывода, который автоматически добавляет новую строку.