我是新的yap
(以及一般的Prolog),我不知道如何獲取當前目錄。如何獲得當前工作目錄
事實上,我不能讓文檔的感覺:
working_directory(-CurDir,?NextDir)
在
CurDir
取當前目錄。如果NextDir
綁定到一個原子,請將其值設置爲當前工作目錄。
我不明白什麼叫 「在CurDir
」。
此外,我無法找到正式參數前面的-
和?
的文檔。 (我猜?
意味着該參數是可選的,但我不知道-
。)
底線,我找不出如何使用此信息來查詢當前的工作目錄。
我已經嘗試了許多盲目的猜測,始終讓無論是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
我有兩個問題:
- 我在哪裏可以找到
-
,?
元的文檔,並且該yap
文檔中出現的形式參數前+
? - 如何獲取當前工作目錄?
UPDATE:以下也失敗:
$ 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
要查詢當前目錄而不更改它,通常的習慣用語是'working_directory(X,X)'。 –
@PauloMoura阿哈 - 這很有道理,還挺。 –
感謝您使用SWI-Prolog文檔的指針。我嘗試了'working_directory(X,'').'和'working_directory(X,X).',但它們都導致了'no.'。 (我相應地更新了我的帖子。) – kjo