Я нашел решение этой проблемы, но оно не работает должным образом.
введите описание ссылки здесь
Что не так?
Я всегда получаю результат 0.
num([]) -> 0;
num(NUMS) ->
num(NUMS, 0).
num([H|L], Count) when H < 1 -> %% use of guard
num(L, Count+1);
num([_|L], Count) ->
num(L, Count);
num([], Count) ->
Count.
Это пример использования введите описание изображения здесь
// Редактировать
Я нашел, где проблема. Это правильный код.
num([]) -> 0;
num(NUMS) ->
num(NUMS, 0).
num([H|L], Count) when H < 1 -> %% use of guard
num(L, Count+1);
num([_|L], Count) ->
num(L, Count+1);
num([], Count) ->
Count.