1
我試圖以自定義的方式在屏幕上打印列表的元素。 當我編譯代碼時,出現在這個: print在PROLOG中寫入不會打印變量值
我的代碼:
printTray([L0,L1,L2,L3,L4,L5,L6,L7,L8,L9,L10]) :-
nl,
printLine(L0),
print('---------+---+---+---+---+---+---+---+---+---'), nl,
printLine(L1),
print('---------+---+---+---+---+---+---+---+---+---'), nl,
printLine(L2),
print('---------+---+---+---+---+---+---+---+---+---'), nl,
printLine(L3),
print('---------+---+---+---+---+---+---+---+---+---'), nl,
printLine(L4),
print('---------+---+---+---+---+---+---+---+---+---'), nl,
printLine(L5),
print('---------+---+---+---+---+---+---+---+---+---'), nl,
printLine(L6),
print('---------+---+---+---+---+---+---+---+---+---'), nl,
printLine(L7),
print('---------+---+---+---+---+---+---+---+---+---'), nl,
printLine(L8),
print('---------+---+---+---+---+---+---+---+---+---'), nl,
printLine(L9),
print('---------+---+---+---+---+---+---+---+---+---'), nl,
printLine(L10),
print('---------+---+---+---+---+---+---+---+---+---'), nl.
printLine([P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10]) :-
write(P0),
print(' '),
write(P1),
print(' | '),
write(P2),
print(' | '),
write(P3),
print(' | '),
write(P4),
print(' | '),
write(P5),
print(' | '),
write(P6),
print(' | '),
write(P7),
print(' | '),
write(P8),
print(' | '),
write(P9),
print(' | '),
write(P10),
print(' '),
nl.
的printTray子句中的列表是托盤的行。所以,我爲每一行打印元素一個接一個。 我不知道這個原因,我嘗試了另一種方式,但結果永遠是一樣的。 當我更改變量值的列表元素的值時,會發生問題。
調用'printTray'的代碼在哪裏?您是否嘗試過使用[guitracer](http://www.swi-prolog.org/pldoc/man?predicate=guitracer/0)或其他任何手段來確定變量未綁定的原因? –
您的變量都是未綁定的;你怎麼使用這些關係? –
你有沒有聽說過迭代?這將爲您節省大量的複製粘貼。 –