0

在prolog中,有没有办法让变量成为_的实例?我正在制作一个数独求解器,我用数字(给定的数字)或 -'s,(未给出的数字)表示读入的谜题。所以,我将整个拼图读入一个列表列表,现在我想将该列表传递给一个函数,我需要将“-”作为_传递。当我读取输入以将输入存储为_时,有什么方法吗?比如说..

get_next(X) :-
  repeat,
  get_char(Y),
  (Y = '\n' -> fail
   ;
   Y = '-' -> X = _
   ;
   X = Y
  ).

像这样的东西?我想也许通过 a'_'会做到这一点,但当然,'_' \= _......任何帮助将不胜感激。Prolog对我来说很陌生。

4

1 回答 1

0

当 Y='-' 时不要将 X 与 Y 绑定。这将使 X 未实例化(前提是它首先未实例化):

get_next(X) :-
  repeat,
  get_char(Y),
  (Y = '\n' -> fail
   ;
   Y \= '-' -> X = Y  ; true
  ).
于 2012-04-27T19:35:47.467 回答