【发布时间】:2012-09-15 11:04:16
【问题描述】:
我正在尝试学习 Erlang,来自 C++/Java 背景。这迫使我重新思考我所有的方法。
现在我正在尝试编写返回列表的前 N 个元素的内容。现在它看起来像这样,虽然我不能在警卫或 if 表达式中调用函数。 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.
【问题讨论】:
-
这个问题与this question 几乎相同,后者有一些更明确的答案。
标签: erlang