Jika saya memahami dokumentasi dengan benar, saya dapat menulis ini:
(let [a 5 b 10]
(print a)
(print b))
Ini berfungsi seperti yang diharapkan dan mencetak 5 dan 10. Saya menggunakan mekanisme ini dalam cuplikan kode ini (Kode lengkapnya adalah di sini jika Anda memerlukan referensi lebih lanjut):
(defn create! [fields]
(let [username (user/unique-user (:author fields))
competition-id (:id (competition/latest))]
(if-not (exists? (:ld_uid fields))
(insert entries (values {
:ld_uid (:ld_uid fields)
:title (:title fields)
:description (:description fields)
:type (:type fields)
:user_id (:id username)
:competition_id competition-id})))
(for [link (:links fields)]
(source/create! (:id (by-ld-uid (:ld_uid fields))) (:url link) (:title link)))))
masalahnya adalah, ekspresi for
tidak dieksekusi. Pernyataan berfungsi seperti yang diharapkan tetapi dalam kode ini di atas ekspresi insert
dieksekusi tetapi for
tidak. Apakah saya mengawasi sesuatu? Saya kehabisan ide apa yang salah di sini :(
for
malas. Bungkus dengandorun
atau ubah menjadidoseq
. - person A. Webb   schedule 27.01.2014