用外行术语解释开放式文件

agd*_*agd 8 lisp common-lisp

我正在学习CL,而且我在其他语言方面的经验很少.有人可以用外行的方式向我解释这意味着什么,尤其是这里的"out"代表什么,以及它们如何组合在一起:

(defun save-db (filename)
  (with-open-file (out filename
                   :direction :output
                   :if-exists :supersede)
    (with-standard-io-syntax
      (print *db* out))))
Run Code Online (Sandbox Code Playgroud)

大多数情况下,我不理解的是"out",但对整个事情的解释会很好.

谢谢

ddy*_*yer 6

out是绑定到打开文件的流变量.with-open-file保证文件在范围内打开,并在范围之外关闭,无论你如何退出.

  • Manpages是Unix的传统,而Lisp来自一个非常独特的文化.一般来说,我谷歌"hyperspec"+(无论我喜欢什么术语). (2认同)