Поскольку я изучаю эрланг, просто читая книги и выполняя свои собственные упражнения (НЕ для домашней работы), я борюсь даже с самой простой задачей, которую я упомянул в названии.
Вот что ясделали:
Я создал файл с именем sum.erl со следующими строками кода:
-module(mysum).
-export([mysum/1]).
mysum(L) ->
mysum(L, 0).
mysum([H|T], acc) ->
mysum(T, H + acc);
mysum([], acc) ->
acc.
Затем я скомпилировал:
erl sum.erl
, который берет меняв оболочку.Там я набрал:
1> L = [1, 3, 7].
[1, 3, 7]
2> mysum(L).
** exception error: undefined shell command mysum/1
3>sum:mysum(L).
** exception error: undefined function sum:mysum/1
Скажите что?Почему я получаю эти ошибки, и хотя сообщения об ошибках немного отличаются, я думаю, что их значения далеко друг от друга?
ОБНОВЛЕНИЕ: Новый код
-module(sum).
-export([sum/1]).
sum(L) ->
sum(L, 0).
sum([H|T], Acc) ->
sum(T, H + Acc);
sum([], Acc) ->
Acc.
Тогда
1>L = [1,2,3].
[1,2,3]
2>sum:sum(L).
** exception error: no function clause matching sum:sum([1,2,3],0)