私はElixirのNumPy/SciPyの基本線形代数関数を再実装するために取り組んでいます。心配しないでください。これはやや軽い試みです。私はただ楽しみのためにやっています。関数の引数として使用される2つのリストの類似性を保証するためのElixir関数のカスタム型指定
現在、私はすでにたくさんの機能を持っていますが、特にベクターではカスタム動作を追加したいと思います。 最も簡単な例はこれです。のは、私が機能add_vectors/2
を持っているとしましょう:
def add_vectors(vec_1, vec_2) do
for {el_1, el_2} <- Enum.zip(vec_1, vec_2), do: el_1 + el_2
end
私は簡単にそれを飾ることができます:
@spec add_vectors(list(), list()) :: list()
しかし、タイプは、単に実際にリストされ、こののみをチェックします。 私はあなたがエリクシルでカスタムの型指定を定義できるのは知っていますが、どのような次元数Nでもそれを定義するためのマクロを書く必要はありません。 これを行う簡単な方法はありますか?