SWI Prolog 5.8.3 - div不是一个函数?

时间:2015-05-13 18:50:13

标签: prolog swi-prolog

在我的程序中,我有一个谓词number_to_unique_bits_list,它接收一个数字和一个布尔列表,并返回一个布尔公式,当它的值是数字时满足。

number_to_unique_bits_list( 0, [], [] ).

number_to_unique_bits_list( IntegerNumber, [ Bit | RestBits ],[ ResultBit | RestResultBits ] ) :-
      ModRes is mod( IntegerNumber, 2 ),
      ModRes == 1,
      ResultBit = Bit,
      Divided is div( IntegerNumber, 2),
      number_to_unique_bits_list( Divided, RestBits, RestResultBits ).

number_to_unique_bits_list( IntegerNumber, [ Bit | RestBits ],[ ResultBit | RestResultBits ] ) :-
      ModRes is mod( IntegerNumber, 2 ),
      ModRes == 0,
      not_on_sat(Bit, ResultBit),
      Divided is div( IntegerNumber, 2),
      number_to_unique_bits_list( Divided, RestBits, RestResultBits ).

出现以下错误时出现问题:

  

错误:是/ 2:算术:`div / 2'不是一个功能

但是检查here,我可以看到div/2是一个功能!我不明白这个问题是什么?

0 个答案:

没有答案