我想學習Erlang,來自C++/Java背景。這迫使我重新思考我所有的方法。基本Erlang - 替代函數調用警衛等
現在我試圖寫一些返回列表的N個第一個元素。現在看起來像這樣,但我不能在警衛或表達式中調用函數。 Erlang的做法是什麼?
take([Xh|Xr],N,Xn) ->
if
len(Xn) /= N -> take(Xr,N,app(Xh, Xn));
len(Xn) == N -> Xn
end.
我也試過之前調用該函數,但沒有工作,要麼:有這樣那樣的問題,你需要切換到思考的,而不是遞歸的方式
take([Xh|Xr],N,Xn) ->
G = len(Xn);
if
G /= N -> take(Xr,N,app(Xh, Xn));
G == N -> Xn
end.
這個問題是幾乎相同[這個問題](http://stackoverflow.com/questions/7902881/erlang-element-and -list),它有更明確的答案。 – rvirding