0
我試圖創建erlang中的一些塔的表示,當我嘗試運行以下命令時,出現右側值的不匹配。Erlang:沒有匹配的右側值的錯誤
T = towers:create(5).
代碼:
create(N) ->
[{tower1, Tower1 = lists:seq(1,N)}, {tower2, Tower2 = []}, {tower3, Tower3 = []}].
我試圖創建erlang中的一些塔的表示,當我嘗試運行以下命令時,出現右側值的不匹配。Erlang:沒有匹配的右側值的錯誤
T = towers:create(5).
代碼:
create(N) ->
[{tower1, Tower1 = lists:seq(1,N)}, {tower2, Tower2 = []}, {tower3, Tower3 = []}].
要分配變量未被使用,這將導致一個編譯器警告,但實際上沒有失敗。從編譯器變量 'TowerX' 是unused`消息:這只是正常:
-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,[]}]
正如@ zxq9說,這有限的代碼片段會發出一些警告'。目前還不清楚「右側不匹配」錯誤是從哪裏來的。 – aronisstav