【发布时间】:2018-01-08 17:08:17
【问题描述】:
为了好玩,我正在尝试用 Erlang 重新创建我最喜欢的棋盘游戏之一,并且 我正在尝试模式匹配嵌套记录,无论我尝试什么,我总是会收到错误消息:
** exception error: no function clause matching
kingoftokyo_server:add_player("john",
{gamestate,[],[],[],[]}) (kingoftokyo_server.erl, line 40)
我的代码如下所示:
-record(player,{playerName,cards,energy}).
-record(board,{city_center,outside}).
-record(gamestate,{board,player,dices,game_round}).
add_player(Name,{Board,{PlayerName,Cards,Energy},Dices,Game_round}) ->
NewList = lists:append(Name, PlayerName),
NewState = {Board,{NewList,Cards,Energy},Dices,Game_round},
NewState.
我不明白为什么该子句在 add_player 函数中不匹配。我已经尝试了所有我能找到的方法,但不明白为什么这不起作用。
任何指针将不胜感激!
【问题讨论】:
标签: erlang