Я написал простую функцию в Erlang, которая преобразует кортеж в список. Но я не понимаю, почему здесь важен порядок сопоставления с образцом:
* ** 1003 тысяча два * Пример
tupleToList(Tuple) -> tupleToList(Tuple, size(Tuple), []).
tupleToList(_, 0, L) -> L;
tupleToList(Tuple, S, L) -> tupleToList(Tuple, S - 1, [element(S, Tuple) | L]).
Почему приведенный ниже код неверен?
tupleToList(Tuple) -> tupleToList(Tuple, size(Tuple), []).
tupleToList(Tuple, S, L) -> tupleToList(Tuple, S - 1, [element(S, Tuple) | L]);
tupleToList(_, 0, L) -> L.