假设一个elixir库定义:
defmodule Decoder do
def decode(%{"BOOL" => true}), do: true
def decode(%{"BOOL" => false}), do: false
def decode(%{"BOOL" => "true"}), do: true
def decode(%{"BOOL" => "false"}), do: false
def decode(%{"B" => value}), do: value
def decode(%{"S" => value}), do: value
def decode(%{"M" => value}), do: value |> decode
def decode(item = %{}) do
item |> Enum.reduce(%{}, fn({k, v}, map) ->
Map.put(map, k, decode(v))
end)
end
end
Run Code Online (Sandbox Code Playgroud)
我想定义一个模块MyDecoder,它只是def decode向上面的模块添加一个.在oo语言中,这将通过某种继承/ mixin/extends来完成.
我如何在长生不老药中做到这一点?
elixir ×1