SORU
9 Mayıs 2012, ÇARŞAMBA


Sıyırma yeni satır olmadan Ruby birden fazla satır uzun dizeleri ayrılıyor

Biz son zamanlarda ruby tarzı bir rehber işimde karar verdi. Ferman bir çizgi yok 80 karakterden daha geniş olmasıdır. Başka bir deyişle bir Rails projesi, sık sık dizeleri o biraz daha uzun, yani "Kullanıcı X yollamak istediğini sana bir mesaj hakkında bir Şey Y" değil her zaman uyum içinde 80 karakter stili sınırı.

Uzun bir dize span birden fazla satır için üç yolu vardır:

  • HEREDOC
  • {} %S
  • Gerçek dize birleştirme.

Ancak, bütün bu durumlarda hangi aptal gibi fazla hesaplama döngüleri, alarak bitirmek. Dize birleştirme açıkçası, ama HEREDOC ve %S için yeni satır, bir şey) gibi kaldýrmak için var .(/\n$/, "). gsub

Saf sözdizimi bir şekilde tek bir satırda bütün dize olmasıyla eş değer olduğunu Bunu yapmak için var mı? Amaç, belli ki, benim kod biraz daha okunaklı olmasını istiyorum çünkü herhangi bir ekstra döngüleri geçirmek için değil. (Evet, Bunu takas bir sürü yapmak zorunda olduğunuzu biliyorum...ama dize uzunluğu için, bu sadece aptalca görünüyor.)

Güncelleme: Ters girinti kaybedersiniz çünkü, gerçekten stil/okunabilirliği etkileyen istediğim şey, tam olarak değil.

Örnek:

if foo
  string = "this is a \  
string that spans lines"  
end

Biraz yukarıdaki okunası buluyorum.

CEVAP
9 Mayıs 2012, ÇARŞAMBA


Belki bu sizin için aradığınız şey nedir?

string = "line #1"\
         "line #2"\
         "line #3"

p string # => "line #1line #2line #3"

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Klemens Torggler

    Klemens Torg

    11 Mart 2008
  • Ryan Ha

    Ryan Ha

    9 NİSAN 2006
  • Within Temptation

    Within Tempt

    18 EYLÜL 2006