В чем разница между путями Ruby и методами записи? - PullRequest
17 голосов
/ 04 марта 2009

Какая разница между ...

File.open('abc', 'w') { |f| f.puts 'abcde' }

... и ...

File.open('abc', 'w') { |f| f.write 'abcde' }

...

Ответы [ 2 ]

30 голосов
/ 04 марта 2009

ставит, добавляет новую строку, записи не делает. Технически, put добавляет разделитель записей (который обычно является новой строкой) к выводу, если он не имеет его в конце. выводить только то, что ему дано.

11 голосов
/ 05 марта 2009

В подобных случаях я всегда начинаю с документации по Ruby Core, в данном случае IO класс.

ios.puts(obj, ...) => nil

Записывает данные объекты в ios как IO#print. Записывает разделитель записей (обычно это новая строка) после любого, который еще не заканчивается последовательностью новой строки. При вызове с аргументом массива записывает каждый элемент в новую строку. Если вызывается без аргументов, выводится один разделитель записей.

ios.write(string) => integer

Записывает данную строку в ios. Поток должен быть открыт для записи. Если аргумент не является строкой, он будет преобразован в строку, используя to_s. Возвращает количество записанных байтов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...