The
format-time-string
fungsi mengambil string, dan menggantikan satu set konstruksi khusus dalam string yang (karakter diawali dengan %
) dengan beberapa teks tertentu.
Saya ingin menerapkan fungsi seperti itu di fungsi saya sendiri:
- Saya memiliki alist antara chars dan simbol seperti:
'((?n . name) (?r . reputation))
. - Fungsi harus mengambil string seperti
"My name is %n, and my rep is %r"
. - Ini harus mengganti
%n
dan%r
dengan nilai variabelname
danreputation
, dan mengembalikan hasilnya. - Seharusnya menangani
%%
sepertiformat-time-string
(ganti dengan%
).
Apa cara termudah untuk mengimplementasikan fungsi ini?
Apakah ada perpustakaan atau fungsi yang akan memfasilitasi ini? Penanganan yang %%
benar adalah penting.
Karena elisp memiliki fasilitas yang agak primitif untuk menangani string, lebih baik untuk meletakkan string format Anda ke dalam buffer dan beralih ke itu:
Kehalusan minor - ini tidak pecah ketika ada satu-satunya
%
di akhir string karenachar-after
kembalinil
pada akhir buffer.sumber
Berikut adalah kode yang saya gunakan untuk format-waktu-string untuk kalender palsu:
sumber