Waktunya untuk yang baru tipografi tantangan ! Ini adalah masalah umum ketika menyalin-menempel antara berbagai format dokumen: tanda hubung. Meskipun mengurangi keretakan tata letak kiri rata atau bahkan spasi dalam tata letak yang dibenarkan, ini benar-benar menyakitkan ketika PDF Anda tidak dibangun dengan benar dan mempertahankan tanda hubung dalam tata letak, membuat teks yang Anda salin sulit diedit atau diubah.
Untungnya, jika kita percaya pada buku-buku swadaya yang tak terhitung jumlahnya di luar sana, tidak ada masalah jika Anda melihatnya sebagai sebuah tantangan. Saya percaya buku-buku self-help ini tanpa kecuali merujuk pada PPCG, di mana masalah apa pun akan diselesaikan jika disajikan sebagai tantangan. Tugas Anda adalah untuk menghapus hyphenation dan linebreak yang menyinggung dari suatu teks, sehingga siap untuk ditempelkan pada editor teks apa pun.
Deskripsi masalah
Anda akan menulis program atau fungsi yang menghilangkan tanda hubung dan jeda baris jika berlaku. The masukan akan menjadi string pada stdin
(atau alternatif terdekat) atau sebagai masukan fungsi. The Output (atas stdout
atau paling dekat alternatif atau fungsi output) akan menjadi teks 'dikoreksi'. Teks ini harus secara langsung dapat disalin-salin. Ini berarti bahwa memimpin atau mengeklik keluaran tidak apa-apa, tetapi keluaran tambahan setengah dari teks Anda yang sudah dikoreksi (mis. Spasi terkemuka di setiap baris) tidak .
Kasus paling mendasar adalah sebagai berikut (catatan: tidak ada spasi tambahan)
Lorem ipsum dolor sit amet, con-
sectetur adipiscing elit. Morbi
lacinia nisi sed mauris rhoncus.
Tanda hubung dan linebreak yang menyinggung harus dihapus, untuk mendapatkan
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi lacinia nisi sed mauris rhoncus.
Namun, beberapa pengecualian harus diperhatikan.
- Double newlines menunjukkan jeda paragraf, dan harus dipertahankan.
- Kata benda dan nama yang benar tidak pernah dibagi dalam dua baris, kecuali mereka sudah berisi tanda hubung (misalnya persamaan Navier-Stokes). Line-break harus dihilangkan, tetapi tanda hubung tetap dipertahankan. Kasus-kasus ini dapat diidentifikasi dengan hanya menggunakan huruf kapital pertama.
- Kadang-kadang, tanda hubung menunjukkan kelompok kata (mis. Abad kesembilan belas dan kedua puluh). Ketika ini terjadi di dua baris, ini ditunjukkan dengan spasi di baris berikutnya.
Contoh: (pandangan yang diungkapkan dalam contoh ini adalah fiksi dan tidak selalu mewakili pandangan penulis; penentang metode Runge-Kutta-Fehlberg sama-sama dipersilakan untuk berpartisipasi dalam tantangan ini)
Differential equations can
be solved with the Runge-Kutta-
Fehlberg method.
Developed in the nineteenth-
or twentieth century, this
method is completely FANTAS-
TIC.
akan menjadi
Differential equations can be solved with the Runge-Kutta-Fehlberg method.
Developed in the nineteenth- or twentieth century, this method is completely FANTASTIC.
Linebreak dapat berupa titik kode ASCII \n
atau \r\n
tergantung pada preferensi Anda, dan tanda hubung adalah ASCII sederhana -
(tanda minus). Dukungan UTF-8 tidak diperlukan. Tantangan ini adalah kode-golf , sehingga kode terpendek menang.
sumber
GNU Sed, 68
Skor termasuk +2 untuk
-zr
opsi yang diteruskan kesed
.Diasumsikan bahwa aliran input tidak mengandung
:
karakter apa pun . Jika ini tidak dapat diterima, maka semua yang ada:
dalam kode dapat diganti dengan karakter ASCII lain yang tidak dapat dicetak, mis. BEL 0x7.sumber
TeaScript , 76 byte
Metode yang sangat "kasar".
Cobalah online
sumber