Erlang:没有右侧值错误匹配

时间:2015-11-14 17:32:13

标签: list erlang

我试图在erlang中创建一些塔的表示,当我尝试运行以下命令时,会出现右侧值的不匹配。

T = towers:create(5).

代码:

create( N ) ->
    [{tower1, Tower1 = lists:seq(1,N)}, {tower2, Tower2 = []}, {tower3, Tower3 = []}].

1 个答案:

答案 0 :(得分:3)

您正在分配未使用的变量,这将导致编译器警告,但实际上不会失败。这很好用:

-module(towers).
-export([create/1]).

create( N ) ->
    [{tower1, lists:seq(1,N)}, {tower2, []}, {tower3, []}].

使用中:

1> c(towers).
{ok,towers}
2> towers:create(5).
[{tower1,[1,2,3,4,5]},{tower2,[]},{tower3,[]}]