Konteks
Saya sedang menulis beberapa soal latihan pilihan ganda dan saya ingin menyimpannya dalam format data teks sederhana. Saya sebelumnya menggunakan tab dibatasi, tetapi itu membuat pengeditan dalam editor teks agak canggung. Saya ingin menggunakan format yang sedikit seperti bibtex.
Misalnya,
@Article{journals/aim/Sloman99,
title = "Review of Affective Computing",
author = "Aaron Sloman",
journal = "AI Magazine",
year = "1999",
number = "1",
volume = "20",
url = "http://dblp.uni-trier.de/db/journals/aim/aim20.html#Sloman99",
pages = "127--133",
}
Tampaknya properti penting adalah:
- Data terdiri dari catatan
- Setiap catatan memiliki beberapa pasangan nilai atribut
- Setiap pasangan atribut-nilai dapat direkam pada baris baru, tetapi dapat menjangkau beberapa baris
- Mudah memasukkan data tekstual secara manual dalam editor teks
- Alat yang tersedia untuk dikonversi menjadi data tabular
Sebagai contoh, ini adalah sesuatu yang mirip dengan apa yang mungkin berhasil
@
id: 1
question: 1 + 1
a: 1
b: 2
c: 3
d: 4
correct: b
@
id: 2
question: What is the capital city of the country renowned for koalas,
emus, and kangaroos?
a: Canberra
b: Melbourne
c: Sydney
d: Australia
correct: a
Sementara saya tertarik pada konteks spesifik penulisan pertanyaan pilihan ganda, saya juga tertarik pada masalah yang lebih luas dalam merepresentasikan data dalam format ini atau sejenisnya.
Pikiran Awal
Pikiran awal saya termasuk yang berikut:
- YAML
- JSON
- Data yang dibatasi dengan bidang khusus dan pembatas rekaman yang mengizinkan catatan multi-baris
- Format file khusus dengan beberapa bentuk pengurai khusus
Saya hanya melihat sekilas pada YAML dan JSON; Kesan pertama saya adalah mereka mungkin over-kill. Pembatasan kustom mungkin baik, tetapi mungkin akan membutuhkan semua bidang untuk hadir dalam urutan yang konsisten untuk semua catatan. Menulis parser saya sendiri terdengar agak fiddly