我试图在erlang中创建一些塔的表示,当我尝试运行以下命令时,会出现右侧值的不匹配。
T = towers:create(5).
代码:
create( N ) ->
[{tower1, Tower1 = lists:seq(1,N)}, {tower2, Tower2 = []}, {tower3, Tower3 = []}].
答案 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,[]}]