Prolog:将listing / 1的结果导出到文件中

时间:2016-12-07 19:30:28

标签: prolog export

我想在prolog" window"中导出/保存list / 1打印出来的结果。到文本文件。有没有办法做到这一点?

我的代码:

Sub DataGridView1_RowValidating(ByVal sender As Object, ByVal e As DataGridViewCellCancelEventArgs)

   Dim drv As DataRowView
   Dim c As Color
     If drv.Item("Gender").ToString = "M" Then
       c = Color.LightBlue
     Else
       c = Color.Pink
     End If
     e.CellStyle.BackColor = c

End Sub

和prolog中的输出,我想保存到文本文件:

parent(a,b).
parent(c,d).
parent(f,g).

list_items(G) :-
    current_predicate(G),
    listing(G).

(如果有帮助,我正在使用GNU prolog:D) 谢谢你的帮助!!

1 个答案:

答案 0 :(得分:0)

您可以通过调用tell/1将流输出更改为文件,列出您想要的内容,然后拨打told/0

e.g:

  tell('MyListing.txt'), 
  listing(A), 
  told.

评论后修改:

如果您打算让listing/1回溯所有匹配的程序,那么您可能需要将tell / listing / tell拆分为两个子句。

即:

list_items(A) :-
     tell('MyListing.txt'), 
     current_predicate(A),
     listing(A),
     fail.
list_items(_) :- told.