T: apa cara idiomatis untuk memetakan suatu fungsi di seluruh daftar properti?
Berbagai fungsi pemetaan ( mapcar
dan keluarga) memetakan fungsi melalui urutan seperti daftar. Bagaimana seseorang menggunakan fungsi-fungsi ini ketika berhadapan dengan daftar properti , yaitu, ketika mencoba memetakan di setiap properti yang ada dalam daftar (yang akan menjadi setiap elemen lainnya mulai dari yang pertama)? Sepertinya saya bahwa fungsi pemetaan perlu mengakses daftar berpasangan elemen daripada sebagai elemen individu.
Sebagai contoh mainan, bagaimana orang akan mengambil daftar properti dan mengumpulkan semua nilai properti? Jika itu adalah daftar asosiasi, itu akan sangat sederhana:
(mapcar #'cadr '((:prop1 a) (:prop2 b) (:prop3 c))) ;=> (a b c)
Saya yakin ini bisa dilakukan dengan loop, tetapi tampaknya sedikit melelahkan dan saya bertanya-tanya apakah ada cara yang lebih idiomatis untuk melakukannya.
mapcar
contoh alist Anda) atau Anda ingin memetakan pasangan simbol properti dan nilai properti. Yang terakhir lebih umum (lebih bermanfaat secara umum), saya kira.