2012-10-10 65 views
15

我需要格式化以換行符結尾的字符串。我只是添加一個「\ n」,但我希望這也可以在Windows上工作。許多語言都有一個常數,根據平臺提供適當的CR/LF/CRLF序列,但我似乎無法在Ruby中找到任何內容。它存在嗎?Ruby對於跨平臺的EOL是否有一個常量?

+0

您可以添加始終有效的「\ r \ n」,AFAIK。你也可以指定記錄分隔符來打印和寫入變量$ \ – 2012-10-10 12:54:06

+0

你只是通過類似puts的輸出字符串?既然put將爲$ PLATFORM使用正確的EOL,或者是否還需要內部換行符? – Doon

+1

在UNIX系統中寫入\ r \ n文件會造成可怕的混亂。 – d11wtq

回答

24

Ruby的有四(!)

p $/ 
p $-0 
require 'English' 
p $RS 
p $INPUT_RECORD_SEPARATOR 

使用IO#看跌期權(=文件#看跌期權)將負責適當的EOL,無需手動設置的。

+0

偉大的答案,謝謝! – d11wtq

+1

這些都是*輸入*記錄分隔符,不是跨平臺EOL字符。在Windows上,它們也被設置爲'「\ n」'。 – sshaw

相關問題