0
我仍然在Clojure noobot,知道我正在嘗試解決涉及大學銀行交易場景的問題。Clojure:參考銀行交易示例
所以...問題是相當容易的,我必須制定一個解決方案,以信用卡,借記卡和匯款。
我停下來這裏:
(def account
(ref 100))
(defn credit [account amount]
"Credit"
(dosync
(alter account + amount)))
(defn debit [account amount]
"Debit"
(dosync
(if (> amount (balance account))
(throw (Exception. "Insuficient Funds"))
(alter account - amount))))
(defn transfer [from to amount]
"Transfer"
(dosync
(if (<= amount (balance from))
(do
(Thread/sleep 10)
(debit from amount)
(credit to amount))
(throw
(Exception. "Insuficient Funds")))))
我認爲它硬沒什麼理解和上面的代碼工作。
我應該添加帳戶號碼,交易,在上述像的各功能的數據和在存儲器量和存儲的描述:
(defn credit [account description data amount]
"Credit"
(dosync
(alter account + amount)))
我與散列映射,載體和其他東西嘗試,但沒沒有工作。我也試圖在本書中找到這個解決方案:Clojure編程O'reilly,但仍然很難實現。
謝謝你的時間,讓我知道你是否需要更多的信息。
什麼是你的問題完全是一個結構的銀行賬戶? – jmargolisvt
我應該在他們可以工作的方式中添加其他「參數」在每個功能,我已經編輯我的問題上面,是否清楚? – junis087678
不完全。現在你的'credit'函數產生一個單一的值。你想讓它產生一系列的價值嗎?所以'(信用賬戶20)'會產生類似'[120'存款'時間戳]'的東西?您是否嘗試過使用'assoc-in'?數據應該代表什麼? – jmargolisvt