का उपयोग कर मैं सिर्फ Erlang सीखने शुरू कर दिया है, लेकिन मैं समझ नहीं क्यों इस कोड समारोह कॉल परीक्षण से मेल नहीं खाता बनाम: राशि (3)गार्ड भाव: का उपयोग कर "और" "अल्पविराम"
-module(test).
-export([sum/1]).
sum(0) -> 0;
sum(N) when is_integer(N) and N>0 -> N + sum(N - 1).
... जबकि इस करता है:
-module(test).
-export([sum/1]).
sum(0) -> 0;
sum(N) when is_integer(N), N>0 -> N + sum(N - 1).
Am मैं दो अलग अलग तरीकों के बारे में कुछ कमी?
बीटीडब्ल्यू, is_integer (एन) ब्रैकेट्स –
में नहीं ले सकता है, इसके अलावा, 'और' curcuit (जैसा '' 'करता है) छोटा नहीं है, इसलिए इसके बजाय 'Andalso' को प्राथमिकता दी जानी चाहिए। –