Function PATHNAME
pathname
pathspec => pathname
pathspec - パス名指定子
pathname - パス名
pathspecによって示されるパス名を返却します。
もしpathspec指定子がストリームのとき、 そのストリームは開いているか閉じているかのどちらでも指定でき、 その両方の場合はpathname
はファイルオープンに 使用された対応するファイル名を返却します。 pathname
は、 クローズされた後のファイルストリームについて 開いていたときのものと同じパス名を返却します。
もしpathspec指定子が論理パス名をオープンしたものによって 作成されたファイルストリームのときは、 論理パス名が返却されます。
;; ここでは大きなばらつきが許されます。 次のいくつかの例は、
;; ちょうど多くの可能性のうちの数例を示したものです。
;; 名前が特定の大文字小文字に正規化されるかどうかは
;; ファイルシステムと実装によって依存しますし、2つの異なった実装が
;; 同じファイルシステムを使用したとき多くの問題が起こり違いが
;; 生じるかもしれません。また内部的にどのように情報を格納するか
;; (場合によっては#S記法で表示する)も異なり、アクセス時に
;; 大文字小文字を変換するためにPATHNAME-NAMEなどの「アクセサ」を
;; 必要とする可能性があります。名前文字列の形式は、ファイルシステムと
;; 実装の両方に依存します。例えば、ある実装では名前文字列にホスト名を
;; 含めるかもしれませんし、別の実装では含めないかもしれないからです。
;; #S表記は一般に、#Pで使用するための適切な名前文字列が作成できない
;; 場合にのみ使用されます。
setq p1 (pathname "test"))
(=> #P"CHOCOLATE:TEST" ; 大文字小文字の正規化あり(例えばVMS)
"VANILLA:test" ; 大文字小文字の正規化なし(例えばUnix)
OR=> #P"test"
OR=> #P"STRAWBERRY" :NAME "TEST")
OR=> #S(PATHNAME :HOST "BELGIAN-CHOCOLATE" :NAME "test")
OR=> #S(PATHNAME :HOST setq p2 (pathname "test"))
(=> #P"CHOCOLATE:TEST"
"VANILLA:test"
OR=> #P"test"
OR=> #P"STRAWBERRY" :NAME "TEST")
OR=> #S(PATHNAME :HOST "BELGIAN-CHOCOLATE" :NAME "test")
OR=> #S(PATHNAME :HOST pathnamep p1) => true
(eq p1 (pathname p1)) => true
(eq p1 p2)
(=> true
OR=> falsewith-open-file (stream "test" :direction :output)
(pathname stream))
(=> #P"ORANGE-CHOCOLATE:>Gus>test.lisp.newest"
なし。
なし。
pathname
, logical-pathname
, 20.1. ファイルシステムの説明, 19.1.2. ファイル名としてのパス名
なし。