DL
(declare rates)
(defn convert [count from to]
(/ (* count (from rates))
(to rates)))
(def rates
(let [base-rates {:usd 1
:rur 0.012}]
(assoc base-rates :eur 1.160)))
(convert 1 :usd :rur)
(convert 1 :eur :rur)
у меня работает…
Size: a a a
DL
(declare rates)
(defn convert [count from to]
(/ (* count (from rates))
(to rates)))
(def rates
(let [base-rates {:usd 1
:rur 0.012}]
(assoc base-rates :eur 1.160)))
(convert 1 :usd :rur)
(convert 1 :eur :rur)
A
DL
DL
A
DL
(declare rates)
(defn convert [count from to]
(/ (* count (from (rates)))
(to (rates))))
(defn rates []
(let [base-rates {:usd 1
:rur 0.012}]
(assoc base-rates :eur 1.160)))
A
DL
A
DL
A
PG
PG
A
(defn get-price-early [item EXTRA]
(let [{:keys [figi currency]} item
currency-cost (get EXTRA (symbol currency))
price (figi->price figi)]
(* price currency-cost)))
(def EXTRA-BASE {'USD 1,
'RUB RUB})
(def EXTRA
(merge EXTRA-BASE
{'EUR (get-price-early (get FIGI "EUR_RUB__TOM") EXTRA-BASE)}
{'XAU (* RUB 4909.81),
'XAG (* RUB 62.09)}))
(defn get-price [item]
(get-price-early item EXTRA))
DL
DL
DL
DL
(defn get-price-early [item EXTRA]
(let [{:keys [figi currency]} item
currency-cost (get EXTRA (symbol currency))
price (figi->price figi)]
(* price currency-cost)))
(def EXTRA-BASE {'USD 1,
'RUB RUB})
(def EXTRA
(merge EXTRA-BASE
{'EUR (get-price-early (get FIGI "EUR_RUB__TOM") EXTRA-BASE)}
{'XAU (* RUB 4909.81),
'XAG (* RUB 62.09)}))
(defn get-price [item]
(get-price-early item EXTRA))
(if (contains? EXTRA thing) (get EXTRA thing)
излишне, (or (get EXTRA thing)
(get-price (get FIGI thing)))
A
A