问题描述
我对序言很陌生。我正在尝试实施一个解谜程序,但我发现了这个问题,但我不知道原因。当我第一次加载程序并执行查询时,它会工作得很好,如果我再次加载程序,同样的查询会抛出下一个错误:
ERROR: UnkNown procedure: '__aux_maplist/3_espacos_fila+1'/3
ERROR: In:
ERROR: [12] '__aux_maplist/3_espacos_fila+1'([[...|...],...|...],_31744,h)
ERROR: [11] espacos_puzzle([[...|...],_31790) at c:/users/admin/onedrive - universidade de lisboa/documents/github/ist/cadeiras/1ano_2sem/lp/projectos/pacote_projecto/pacote_projecto/projecto1.pl:129
ERROR: [9] <user>
ERROR:
ERROR: Note: some frames are missing due to last-call optimization.
ERROR: Re-run your program in debug mode (:- debug.) to get more detail.
Exception: (12) '__aux_maplist/3_espacos_fila+1'([[[0,0],[0,[17,[10,0]],[[0,[24,[11,3],_29968,_29974],16],_30004,_30010,_30016,_30022],26],_30052,_30058,_30064|...],17],_30100,_30106|...]],_32024,h) ?
第 129 行是:
maplist(espacos_fila(h),Puzzle,Espacos_h_l)
函数 espacos_fila/3 接收一个常量(h 或 v(水平或垂直)),一行格式为 [[0,P52,P53,P_55]],
,第三个参数是 [espaco(17,[P52],[P53]),espaco(3,[P_55])]
类型的结构列表.
如果我中止并再次加载程序,则不会出现任何错误……我不明白为什么我会第二次出现错误。
查询是:
Puzzle = [[[0,P24,P25],P32,P33,P34,P35],P42,P43,P44,P45],0]]],espacos_puzzle(Puzzle,Espacos).
预期的结果是:
Puzzle = [[[0,[...|...]|...]],Espacos = [espaco(3,[P24,P25]),espaco(16,[P32,P35]),espaco(26,[P42,P45]),espaco(17,[P52,P53]),espaco(24,P52]),espaco(11,[P33,P43|...]),[P24|...]),espaco(10,[...|...])].
(抱歉没有展示太多代码,但这是一个大学项目,所以我不能只是在互联网上复制粘贴我的程序......)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)