Ho appena iniziato l'apprendimento Erlang, ma io non riesco a capire il motivo per cui questo codice non corrisponde al test di chiamata di funzione: sum (3)espressioni della Guardia di Erlang: utilizzando "e" contro l'utilizzo di "virgola"
-module(test).
-export([sum/1]).
sum(0) -> 0;
sum(N) when is_integer(N) and N>0 -> N + sum(N - 1).
... mentre questo fa:
-module(test).
-export([sum/1]).
sum(0) -> 0;
sum(N) when is_integer(N), N>0 -> N + sum(N - 1).
mi sto perdendo qualcosa circa i due approcci differenti?
btw, is_integer (N) non può prendere tra parentesi –
Inoltre, 'e' non è un corto (come', 'fa), quindi' andalso' dovrebbe essere preferito. –