LL
XY
Size: a a a
LL
XY
PG
YS
PG
V
clean_storage(key, keys)
- начини сигнатуры функции, а то непонятно, что за key
, что за keys
, что за storage
, в чём должно заключаться clean
YS
YS
LL
V
если да, то удалить его, другие не трогать
если нет - удалить все
YS
YS
YS
YS
** (ArgumentError) invalid right argument for operator "in", it expects a compile-time proper list or compile-time range on the right side when used in guard expressions, got: keys
YS
AD
defp clean_storage(key, keys), do: clear(key, keys, key in keys )
defp clear(key, _keys, true), do: key |> Storage.delete()
defp clear(_key, keys, false), do: keys |> Enum.each(&Storage.delete/1)
PG
single responsibility left the group
LL
single responsibility left the group
V
если да, то удалить его, другие не трогать
если нет - удалить все
key in keys
и key not in keys
различается смысл аргумента keys
. Это настолько пхп-стайл, что подозреваю ошибку проектирования функций уровнем выше.V