(rontolisp) docs
← cl パッケージの関数

pathname-directory

(pathname-directory pathname)

パス名のディレクトリ部分を、Common Lisp のリスト形式で返します。:absolute または :relative に続いて、ディレクトリ階層ごとに 1 つの構成要素が並びます。ディレクトリ部分を 持たないパス名は nil を返します。

これは make-pathname が組み立てるものの構成要素ごとの逆なので、 特別な階層は与えたときのキーワードのまま返ります。.. は :up、* は :wild、 ** は :wild-inferiors です。

引数はパス名と名前文字列のどちらでも受け付け、分割は名前文字列上の純粋な文字列処理です。ファイル システムは一切読まず、存在しないパスでも同じ結果を返します。directory と組み合わせて使います。走査処理は、渡された各エントリをどう扱うかをこの関数で判断します。

(pathname-directory "a/b/c.txt") は (:RELATIVE "a" "b")、 (pathname-directory "c.txt") は NIL、(pathname-directory "/") は (:ABSOLUTE)、(pathname-directory "/a/**/x.lisp") は (:ABSOLUTE "a" :WILD-INFERIORS) です。

バックエンドサポート

4 バックエンドすべてです。どのバックエンドにもあるプリミティブの上に、rontolisp ソースで 1 つだけ定義されています。