我希望能够输入以下内容:
fun([{X,Y}, {A,B}, {M,N}]).
并且仅使用第一个元组并保存其他元组以供以后使用。我试着像这样定义它:
fun([{X|Y}, V]) ->
V.
但我只是在“|”之前得到语法错误。 “V”只是试图输出以查看发生了什么。
是否有任何资源可以指向我的一些支持?或者我做错了什么?
答案 0 :(得分:3)
func([{X,Y}| V]) -> %% fun is a keyword, you cannot use it as a function name
%% do some stuff with X, Y
V.
通常,如果要将相同的函数应用于列表的所有元素,最好使用lists模块:( lists:foreach / 2,lists:map / 2,lists:foldl / 2 ... )或列表理解
Res = [Fun(T) || T <- L]
wher Fun是从列表L
应用于每个元组T的函数答案 1 :(得分:0)
你应该这样写:
fun([{X, Y} | V])
。
[{X, Y} | V] = [{X,Y}, {A,B}, {M,N}]
,然后是V = [{A,B}, {M,N}]