ŹR
|
поменял бы на функции - уменьшилось бы в 10 тыщ раз весь кодSize: a a a
ŹR
|
поменял бы на функции - уменьшилось бы в 10 тыщ раз весь кодT
Enum.reduce(
items,
%BlackFriday.Order{owner: owner},
fn %BlackFriday.Product{code: code} = item,
%BlackFriday.Order{items: items, total: total} = order ->
code
|> rules()
|> Enum.reduce(
%BlackFriday.Order{
order
| items: [item | items],
total: Money.add!(total, item.price)
},
fn rule, acc ->
if rule.applicable?(item),
do: %BlackFriday.Order{
acc
| total:
rule.apply!(%BlackFriday.Order{
acc
| items: Enum.filter(acc.items, &(&1.code == item.code))
})
},
else: acc
end
)
end
)
T
AD
T
T
LL
gen_*
обновляются когда они не работают и их message_queue
пустаяAD
gen_*
обновляются когда они не работают и их message_queue
пустаяT
gen_*
обновляются когда они не работают и их message_queue
пустаяLL
recompile
T
LL
code_change
имплементится в use GenServer
NB
LL
LL
gen_statem
можно менять модуль на ходуLL
AB
AB
AD
AB