COBOL adalah bahasa yang sangat tua, pada saat penulisan ini berusia 58 tahun. Sebenarnya sudah sangat tua sehingga memiliki kekhasan yang sangat menarik: enam karakter pertama dari setiap baris adalah komentar.
Mengapa ini, Anda bertanya? Nah, 6 karakter itu dimaksudkan untuk digunakan sebagai nomor baris, kembali pada hari di mana program tidak sepenuhnya digital dan diketik di komputer.
Selain itu, karakter ketujuh hanya bisa menjadi bagian dari set yang sangat kecil (biasanya *
untuk mengomentari garis atau spasi untuk memisahkan nomor baris dari kode)
Tetapi bagaimana jika Anda menggunakan sistem yang lebih digital, dan Anda hanya menginginkan program mentah?
Sistem komentar
Ada dua jenis komentar di COBOL: komentar baris dan komentar "nomor baris" yang disebutkan di atas.
Nomor garis komentar sederhana adalah sederhana: hanya mengambil tujuh (enam ditambah satu spasi) karakter pertama dari setiap baris.
000000 apple
000001 banana
celery donuts
akan menjadi:
apple
banana
donuts
Komentar garis membuatnya sedikit lebih sulit. Komentar baris dimulai dengan tanda bintang yang *
ditempatkan di posisi karakter ketujuh di baris, seperti:
000323* this is a comment
Ini bukan komentar baris:
*00000 this isn't a comment
Untuk menghapus komentar baris, cukup hapus seluruh baris.
Contoh berkomentar "program":
000000 blah blah
000001* apples
000002 oranges?
000003* yeah, oranges.
000*04 love me some oranges
Versi tanpa komentar:
blah blah
oranges?
love me some oranges
Dengan kata lain, untuk menghapus tanda komentar pada sebuah string, hapus enam karakter pertama dari setiap baris, lalu kembalikan semua kecuali karakter pertama dari setiap baris yang tidak dimulai dengan bintang.
Tantangan
Buat program atau fungsi yang mengambil program yang dikomentari dan mengembalikan varian yang tidak diomortasikan.
Klarifikasi
- Tanda bintang (
*
) tidak akan pernah ditemukan di mana pun di luar tujuh karakter pertama pada sebuah baris (kami tidak meminta Anda memverifikasi sintaksis) - Setiap baris akan selalu memiliki setidaknya 7 karakter.
- Anda mungkin menganggap karakter ketujuh selalu tanda bintang atau spasi.
- Input atau output dapat berupa matriks atau daftar.
- Hanya karakter ASCII yang dapat dicetak (ditambah baris baru) yang harus ditangani.
- Anda dapat menampilkan dengan baris baru tambahan. Anda juga dapat berasumsi bahwa input tersebut akan memiliki baris tambahan, jika Anda memilihnya.
Mencetak gol
Karena ini adalah kode-golf , jawabannya dengan byte paling sedikit menang!
PENOLAKAN: Saya tidak benar-benar tahu COBOL dan tidak mengklaim. Jika ada klaim tentang COBOL yang saya buat dalam pertanyaan ini salah, saya tidak bertanggung jawab.
*
. Apakah ini suatu kebetulan?
key:{key:{key:length,key:length}}
. Hapus semua format data dan ketikkan data.