私は、リスト内の偶数を検出し、数値のみを使用して新しいリストを返します。この機能を持っている:エリクシール末尾呼び出し再帰関数
def even([]), do: []
def even([head | tail]) when rem(head, 2) == 0 do
[head | even(tail)]
end
def even([_head| tail]) do
even(tail)
end
は、このすでに末尾呼び出し最適化されていますか?あるいは、すべての節が最後に自分自身を呼び出す必要がありますか?(「偶数」関数の2番目のバージョンはありません)もしそうでなければ、どのようにして再帰呼び出しを行うようにリファクタリングすることができますか?
これはフィルタやリダクションで行うことができますが、私はそれを試してみたかったのです。
これは非常に参考になりましたありがとうございました – JessiAbrams