2012-10-10 16 views
15

Yeni satırla biten bir Dize biçimlendirmem gerekiyor. Sadece bir "\ n" ekleyebilirim, ancak bunun Windows üzerinde da çalışmasını istiyorum. Birçok dil, platforma uygun CR/LF/CRLF dizisini sağlayan bir sabite sahiptir, ancak Ruby'de hiçbir şey bulamıyorum. Var mı?Ruby, bir platformda çapraz platform EOL için sabit var mı?

+0

Her zaman çalışan "\ r \ n" öğesini ekleyebilir, AFAIK. Ayrıca, $ \ –

+0

$ değişkenini kullanarak yazdırmak ve yazmak için aramalar için kayıt ayırıcıyı da belirtebilirsiniz. Koylar $ PLATFORM için doğru EOL kullanacağından ya da iç hat molalarına ihtiyacınız var mı? – Doon

+1

UNIX sistemlerinde bulunan dosyalara \ r \ n yazmak, korkunç bir karışıklık yaratır. – d11wtq

cevap

24

Ruby'nin uygun EOL, elle ayarlamak gerek ilgilenir IO # koyar (= Dosya # koyar) kullanarak dört (!)

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

aldık.

+0

Harika cevap, teşekkürler! – d11wtq

+1

Bunlar hepsi * giriş * kayıt ayırıcıları, çapraz platform EOL karakterleri değil. Windows'da da "\ n" 'olarak ayarlanmışlar. – sshaw

İlgili konular