Prolog"不关心"变量

时间:2012-04-27 19:16:56

标签: prolog

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

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

这样的东西?我想也许传递一个'_'就可以做到,但当然,'_' \= _ ......任何帮助都会非常感激。 Prolog对我来说很陌生。

1 个答案:

答案 0 :(得分:0)

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

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