Size: a a a

Clojure — русскоговорящее сообщество

2019 May 25

L

LinchK in Clojure — русскоговорящее сообщество
|Bay|Покупка
2019/05/23  |  "AFLT"
       Активы:Бумаги    200    "AFLT"  @  90.72
       Пассивы:Торговый:AFLT    -200    "AFLT"  @  90.72
       Активы:Деп    -18144.0
       Пассивы:Торговый:AFLT

2019/05/23  |  "AFLT"
       Расходы:Брокер    10.89
       Расходы:Биржа    1.69
       Расходы:Налог    0
       Активы:Деп
источник

GG

Grigory Glushko in Clojure — русскоговорящее сообщество
LinchK
Еще раз для того кто в танке - т.е. шаблон описывает последовательность применения функций, и он представлен как данные
не должно быть никакой "последовательности применения функций" если ты хочешь декларативность
источник

L

LinchK in Clojure — русскоговорящее сообщество
Это - и есть результат
источник

GG

Grigory Glushko in Clojure — русскоговорящее сообщество
это уже совсем конечный результат)
источник

GG

Grigory Glushko in Clojure — русскоговорящее сообщество
в edn как он выглядит?
источник

L

LinchK in Clojure — русскоговорящее сообщество
Параметры {:toc AFLT :quan 200 :price 9.72}
источник

L

LinchK in Clojure — русскоговорящее сообщество
Это реультат вывода - в текстовый файл, который нужен в итоге
источник

L

LinchK in Clojure — русскоговорящее сообщество
В EDN - вот здесь мне пока не понятно как его представить
источник

GG

Grigory Glushko in Clojure — русскоговорящее сообщество
вот надо понять
источник

GG

Grigory Glushko in Clojure — русскоговорящее сообщество
только надо не шаблон представлять, а его результат уже, с вшитыми параметрами
источник

GG

Grigory Glushko in Clojure — русскоговорящее сообщество
промежуточное представление нужно в виде edn
источник

L

LinchK in Clojure — русскоговорящее сообщество
Что-то типа [:trans "|Bay|Покупка" :dat "2019/05/23" : toc "AFLT" ..... :op [
источник

L

LinchK in Clojure — русскоговорящее сообщество
О тут дальше будет вложенность
источник

L

LinchK in Clojure — русскоговорящее сообщество
Две части трансакции
источник

L

LinchK in Clojure — русскоговорящее сообщество
По каждой несколько счетов в дебет и один в кредит
источник

L

LinchK in Clojure — русскоговорящее сообщество
А как описать те данные которые я собираюсь расчитывать? т.е. общая сумма  -18144.0 = 200 * 90.72
источник

DD

Daniil Davydov in Clojure — русскоговорящее сообщество
{
:assets-depo `(* :quan :price)
:broker-commission-total `(* :broker-commission :quan)
:exchange-commission-total `(* :exchange-commission :assets-depo)
:template
[["|" :op
[:date "|" :toc]
["\t\t" "Активы:Бумаги" :quan :toc "@" :price]
["\t\t" "Активы:Деп" :assets-depo]
["\n"]
[:date "|" :toc]
["\t\t" "Расходы:Брокер" :broker-commission-total]
["\t\t" "Расходы:Биржа" :exchange-commission-total]]]
}
источник

GG

Grigory Glushko in Clojure — русскоговорящее сообщество
например так
источник

L

LinchK in Clojure — русскоговорящее сообщество
Спасибо. Сохранил. Буду разбираться
источник

GG

Grigory Glushko in Clojure — русскоговорящее сообщество
но я бы для начала оставил простые функции
они будут выглядеть сильно проще тех что у тебя в начале были
типа
(defn some-template [a b c]
 (let [p (* b c)]
   [[.... a p]
    ...]))
источник