Stream 在Prolog中重置流的行位置属性

Stream 在Prolog中重置流的行位置属性,stream,prolog,Stream,Prolog,我想通过更改stream\u属性中position的line\u position属性来重置Prolog中当前流的位置。如何操作?只有set\u stream\u position/2可以设置为以前的位置。Yes和set\u stream\u position(stream,Pos)接受两个参数;第一个是流句柄,第二个是位置,但是如何在Position属性中重置line_Position属性,因为Position属性本身就是一个结构。您不能以安全的方式。您需要首先从stream_属性(S,pos

我想通过更改
stream\u属性中position的
line\u position
属性来重置Prolog中当前流的位置。如何操作?

只有
set\u stream\u position/2
可以设置为以前的位置。Yes和set\u stream\u position(stream,Pos)接受两个参数;第一个是流句柄,第二个是位置,但是如何在Position属性中重置line_Position属性,因为Position属性本身就是一个结构。您不能以安全的方式。您需要首先从
stream_属性(S,position(P))
是的,在使用stream_属性之后,我得到了P作为“$stream_position(8,1,8,0,0)”,其中根据YAp prolog,第三个属性是Line_position。我想知道如何更改这个属性(从8到7),并使用set_stream_Position/2将其设置在新位置?正如我所说的,这是不可能的,也就是说,非常不安全