2
我想在菜單中顯示項變量的項目使用順序爲宏:循環訪問記錄
(defrecord MenuItem
[select-char description])
(def menu-items [(MenuItem. "1" "add an expense")
(MenuItem. "2" "add an income")
(MenuItem. "0" "exit")])
(defn display-menu [items]
(for [item items]
(println (:select-char item))))
(defn menu-prompt [items]
(display-menu items)
(read-val ">>>"))
(println menu-items)
(menu-prompt menu-items)
然而,無非>>>顯示提示。有人可以解釋爲什麼,以及如何顯示項目?
如果您需要包含帶副作用函數的for循環,則認爲使用doseq更爲經典。 doseq與以下語法具有相同的語法:(doseq [x(range 10)](println x))。我認爲亞瑟表示在多倫/多爾爲了展示正在發生的事情而展示,但最好不要那樣使用它。 – NielsK