Kami baru-baru ini memutuskan pada pekerjaan saya untuk panduan gaya ruby. Salah satu dekrit adalah bahwa tidak boleh ada garis yang lebih lebar dari 80 karakter. Karena ini adalah proyek Rails, kami sering memiliki string yang sedikit lebih lama - yaitu " Pengguna X ingin mengirimi Anda pesan tentang Thing Y " yang tidak selalu sesuai dengan batas gaya 80 karakter.
Saya mengerti ada tiga cara untuk memiliki string panjang span beberapa baris:
- HEREDOC
- % Q {}
- Rangkaian string aktual.
Namun, semua kasus ini pada akhirnya mengambil lebih banyak siklus perhitungan, yang tampaknya konyol. Rangkaian string jelas, tetapi untuk HEREDOC
dan %Q
saya harus menghapus baris baru, melalui sesuatu seperti .gsub(/\n$/, '')
.
Apakah ada cara sintaksis murni untuk melakukan ini, itu setara dengan hanya memiliki seluruh string pada satu baris? Tujuannya, jelas, untuk tidak menghabiskan siklus tambahan hanya karena saya ingin kode saya sedikit lebih mudah dibaca. (Ya, saya menyadari bahwa Anda harus melakukan banyak pengorbanan ... tetapi untuk panjang tali, ini sepertinya konyol.)
Pembaruan: Garis miring terbalik tidak persis seperti yang saya inginkan karena Anda kehilangan indentasi, yang benar-benar memengaruhi gaya / keterbacaan.
Contoh:
if foo
string = "this is a \
string that spans lines"
end
Saya menemukan hal di atas agak sulit dibaca.
EDIT : Saya menambahkan jawaban di bawah ini; tiga tahun kemudian kita sekarang memiliki heredoc berlekuk.
\n
karakter baris baru atau tidak. Jawaban teratas tidak menyimpannya — namun jawaban Anda tetap. Pertanyaannya mengatakan "tanpa menelanjangi baris baru" - tetapi deskripsi mengatakan "[...] Saya harus menghapus baris baru."