2015-11-04 1 views
0

Недавно я переместил приложение из Ubuntu на сервер Redhat и заметил, что при записи файла произошла разница с написанием \ r \ n, а не просто \ п.Написание файла Ruby только с разрывами строк n

Я устанавливаю \ n в данных, которые нужно записать. Так, например,

data = "Hello\nWorld" 
File.open("#{ Rails.root }/tmp/file.txt", "wb") { |f| f.write(data) } 

То, что написано на самом деле, «Hello \ r \ nWorld».

Я знаю, что Ruby устанавливает разрывы строк в соответствии с системой, в которой он выполняется, но есть ли способ принудить его к тому, чтобы поддерживать \ n какую бы систему?

ответ

-1

Не помещайте escape-последовательности в двойную кавычку, потому что ruby ​​ищет замены и заменяет их двоичным значением.

Если вы хотите, чтобы рубин сохранялся таким же, как «\ n», вам нужно использовать одиночную кавычку.

Пример:

данные = 'Привета' \ nWorld

File.open ("# {} Rails.root /tmp/file.txt", "термометр") {| F | f.write (data)}

Он сохранит его. :)

Смежные вопросы