У меня есть массив записей, которые я хотел бы напечатать.
Будучи обр массивом, я просто писал:
puts arr
Затем мне нужно было использовать конец строки в формате DOS: \ r \ n, поэтому я написал:
arr.each { |e| print "#{e}\r\n" }
Это работает правильно, но я хотел бы знать, есть ли способ указать, какой формат конца строки использовать, чтобы я мог написать что-то вроде:
$eol = "\r\n"
puts arr
ОБНОВЛЕНИЕ 1
Я знаю, что устанавливает будет использовать правильные окончания строк в зависимости от платформы, на которой он запущен, но мне это нужно, потому что я запишу вывод в файл.
ОБНОВЛЕНИЕ 2
Как предложил Марк, установка $ \ полезна. В любом случае это просто работает для print .
Например,
irb(main):001:0> a = [1, 2, 3]
=> [1, 2, 3]
irb(main):002:0> $\ = "\r\n"
=> "\r\n"
irb(main):003:0> print a
123
=> nil
irb(main):004:0> puts a
1
2
3
=> nil
print печатает все элементы массива в одну строку, а затем добавляет $ \ , в то время как мне хотелось бы поведение путов: добавление $ \ после каждого элемент массива.
Возможно ли это вообще без использования Array # each?