我是-rw-r--r-- 1 oracle dba 455132 Feb 21 14:14 CC_T2_PERSON.txt
CC_T2_PERSON.txt secure copied to ccfilesvr
-rw-r--r-- 1 oracle dba 107314 Feb 21 14:14 CC_T2_CAMPUSBOX.txt
CC_T2_CAMPUSBOX.txt secure copied to ccfilesvr
Number of files to transfer into ccfilesvr: **0**
No files to upload.
的新人(以及一般的Prolog),我无法弄清楚如何获取当前目录。
事实上,我无法理解文档:
yap
获取
working_directory(-CurDir,?NextDir)
处的当前目录。如果CurDir
绑定到一个atom,则将其值设为当前工作目录。
我不明白" NextDir
"的含义是什么。
另外,我无法在正式参数之前的CurDir
和-
找到文档。 (我想?
意味着参数是可选的,但我对?
没有任何线索。)
最重要的是,我无法弄清楚如何使用此信息来查询当前的工作目录。
我尝试了很多盲目的猜测,并且总是得到-
或错误的回应。 E.g:
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
答案 0 :(得分:0)
元文档可以在SWI-Prolog手册here中找到,但对于Yap也是一样的(在Yap手册中找不到任何参考文献,一目了然)
可以像这样检索当前工作目录(CWD):
working_directory(X,'').
...这意味着将X与CWD统一并将其更改为空(反直觉,我知道,但我没有做到),或者:
working_directory(X,X).
...正如@PauloMoura指出的那样,这意味着将X与CWD统一并将其更改为自身(这对我来说也很奇怪,但是c&#39; est la vie)。
CWD可以像这样改变:
working_directory(X,'Some New Directory').
...将CW与CWD统一,然后将CWD更改为“某些新目录”,因此X将成为以前的工作目录。