2012-10-10 2 views
15

改行で終わる文字列をフォーマットする必要があります。私はちょうど "\ n"を追加したいと思いますが、私はこれもWindows上で動作させたいと思います。多くの言語には、プラットフォームに応じて適切なCR/LF/CRLFシーケンスを提供する定数がありますが、Rubyで何も見つけられないようです。それは存在しますか?RubyはクロスプラットフォームEOLの定数をどこかに持っていますか?

+0

AFAIKは常に動作する「\ r \ n」を追加できます。あなたはまた、呼び出しのためのレコード区切り文字を指定して、変数$ \ –

+0

を印刷して書き込むことができます。あなたはputsのようなものを介して文字列を出力していますか? putsは$ PLATFORMに正しいEOLを使用するか、または内部改行も必要としますか? – Doon

+1

UNIXシステムのファイルに\ r \ nを書き込むことは恐ろしいことです。 – d11wtq

答えて

24

Rubyのは、適切なEOL、手動で設定する必要はありませんの世話をするのIO#プット(=ファイル#プット)を使用して4(!)

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

を得ました。

+0

ありがとう! – d11wtq

+1

これらはすべて、*入力レコードセパレータであり、クロスプラットフォームのEOL文字ではありません。 Windowsでは '\ n"に設定されています。 – sshaw

関連する問題