如何获取当前的工作目录



我是新来的yap(以及一般的Prolog),我不知道如何获得当前目录。

实际上,我无法理解文档:

working_directory(-CurDir,?NextDir)

CurDir处获取当前目录。如果NextDir绑定到原子,则将其值作为当前工作目录。

我不明白 at CurDir&quot。

另外,我找不到在正式参数之前的-?上的文档。(我猜?意味着该参数是可选的,但我对-不知道。)

底线,我不知道如何使用此信息查询当前工作目录。


我尝试了许多盲目的猜测,并且始终会得到no.或响应中的错误。例如:

$ yap
% Restoring file /usr/lib/Yap/startup.yss
YAP 6.2.2 (x86_64-linux): Sat Nov 23 17:51:47 UTC 2013
   ?- working_directory(CurDir).
no
   ?- working_directory(-CurDir).
no
   ?- working_directory().
     SYNTAX ERROR at user, near line 7:
 working_directory(
<==== HERE ====>
 ).
   ?- working_directory.
no
   ?- CurDir.
     ERROR!!
     INSTANTIATION ERROR- meta_call(_131099): expected bound value
   ?- -CurDir.
no
   ?- working_directory('.').
no
   ?- working_directory(-'.').
no

我有两个问题:

  1. -?+上,我在哪里可以找到元文献,该文档出现在 yap文档中的正式参数前?
  2. 如何获得当前的工作目录?

更新:以下内容也失败:

$ yap
% Restoring file /usr/lib/Yap/startup.yss
YAP 6.2.2 (x86_64-linux): Sat Nov 23 17:51:47 UTC 2013
   ?- working_directory(X, '').
no
   ?- working_directory(X, X).
no
  1. 可以在此处的SWI-Prok手册中找到元文档,但对于YAP来说是相同的(一目了然的YAP手册中找不到任何参考)。

    <</p>
  2. 当前工作目录(CWD)可以像这样检索:

working_directory(X,'').

...这意味着使用CWD统一X并将其更改为一无所有(我知道,但我没有做到),或者:

working_directory(X,X).

...正如@paulomoura指出的那样,这意味着用CWD统一X并将其更改为自己(对我来说似乎也很奇怪,但是C'est la Vie)。

CWD可以像这样更改:

working_directory(X,'Some New Directory').

...它将用CWD统一X,然后将CWD更改为"一些新目录",因此X将是以前的工作目录。

相关内容

  • 没有找到相关文章

最新更新