Shammer's Philosophy

My private adversaria

load関数

長い関数を定義する際に、処理系を起動して、

(defun function-name (x y z)
  ...  ; 実際の関数の処理
)

と入力していると、入力ミスなどがあった場合に修正が面倒。
こういう場合、任意のテキストファイルに関数を書いておき、
それを読み込むことができる。コマンドは以下の通り。

(load "%FILE_PATH%")

Windowsであっても、ディレクトリの区切り文字は「\」でなく、「/」を使用する。
たとえば、C:\test-function.lispというファイルに以下のような関数が定義されているなら、

(defun sample-func (x y z)
  (+ x y z)
)

以下のように読み込んで使用することができる。

>(load "C:/test-function.lisp")
#P"C:/ClozureCL/test.lisp"
>(sample-func 1 1 1)
3