В подобных случаях я всегда начинаю с документации по Ruby Core, в данном случае IO класс.
ios.puts(obj, ...) => nil
Записывает данные объекты в ios как IO#print
. Записывает разделитель записей (обычно это новая строка) после любого, который еще не заканчивается последовательностью новой строки. При вызове с аргументом массива записывает каждый элемент в новую строку. Если вызывается без аргументов, выводится один разделитель записей.
ios.write(string) => integer
Записывает данную строку в ios. Поток должен быть открыт для записи. Если аргумент не является строкой, он будет преобразован в строку, используя to_s
. Возвращает количество записанных байтов.