view 6-Clojure/atomcache.clj @ 83:eccc649d49a2

Add Day 2 and Day 3 notes and example code Clojure STILL doesn't make much sense in lots of places
author IBBoard <dev@ibboard.co.uk>
date Sat, 08 Jun 2019 21:23:27 +0100
parents
children
line wrap: on
line source

(defn create_price_list
    []
    (atom {}))

; We can't use get because it's part of clojure.core
(defn get_price
    [prices name]
    (@prices name))

(defn set_price
    ([prices new_price_map]
        (swap! prices merge new_price_map))
    ([prices name price]
        (swap! prices assoc name price)))

(def my_shares (create_price_list))
(set_price my_shares :GW 299)
(set_price my_shares :BT 1563)
(set_price my_shares :ROYALMAIL 29)
(println (get_price my_shares :BT))
(println (get_price my_shares :FOO))
(println my_shares)