% Function NAMESTRING, FILE-NAMESTRING, DIRECTORY-NAMESTRING, HOST-NAMESTRING, ENOUGH-NAMESTRING
Function NAMESTRING
, FILE-NAMESTRING
, DIRECTORY-NAMESTRING
,
HOST-NAMESTRING
, ENOUGH-NAMESTRING
namestring
pathname => namestring
file-namestring
pathname => namestring
directory-namestring
pathname => namestring
host-namestring
pathname => namestring
enough-namestring
pathname &optional
defaults => namestring
pathname - パス名指定子
defaults - パス名指定子。
デフォルトは*default-pathname-defaults*
の値です。
namestring - 文字列か、nil
これらの関数はpathnameを名前文字列に変換します。 pathnameによって表現される名前は、 実装依存の基準のフォームに従った 名前文字列として返却されます。
namestring
は、pathnameの完全なフォームを返却します。
file-namestring
は、
pathnameの名前とタイプとバージョンの要素だけを返却します。
directory-namestring
は、
pathnameのディレクトリの名前の部分を返却します。
host-namestring
は、ホスト名を返却します。
enough-namestring
は、
pathnameがdefaultsから相対的に考慮されたものによって、
同一と見なせるのに十分なファイル名である
省略された名前文字列を返却します。
これは、全ての場合において次のような関係を要求します。
(merge-pathnames (enough-namestring pathname defaults) defaults)
== (merge-pathnames (parse-namestring pathname nil defaults) defaults)
enough-namestring
の結果は、
このような基準を満たした最も短い適切な文字列です。
この3つの短い名前文字列をある順にて結合することによって 有効な名前文字列を生成することは必ずしも可能ではありません。
(namestring "getty")
=> "getty"
(setq q (make-pathname :host "kathy"
:directory
(pathname-directory *default-pathname-defaults*)
:name "getty"))
=> #S(PATHNAME :HOST "kathy" :DEVICE NIL :DIRECTORY directory-name
:NAME "getty" :TYPE NIL :VERSION NIL)
(file-namestring q) => "getty"
(directory-namestring q) => directory-name
(host-namestring q) => "kathy"
;;; Unix構文の使用とこの例での特定のUnixバージョンによる
;;; ワイルドカード表記の使用によって作成されたもの
(namestring
(translate-pathname "/usr/dmr/hacks/frob.l"
"/usr/d*/hacks/*.l"
"/usr/d*/backup/hacks/backup-*.*"))
> "/usr/dmr/backup/hacks/backup-frob.l"
(namestring
(translate-pathname "/usr/dmr/hacks/frob.l"
"/usr/d*/hacks/fr*.l"
"/usr/d*/backup/hacks/backup-*.*"))
=> "/usr/dmr/backup/hacks/backup-ob.l"
;;; これは上記の例に似ていますが2つの違ったホストを使用しています。
;;; UがUnixであり、VがVMSです。ファイルタイプの変換と
;;; アルファベットの大文字小文字の表記に注意してください。
(namestring
(translate-pathname "U:/usr/dmr/hacks/frob.l"
"U:/usr/d*/hacks/*.l"
"V:SYS$DISK:[D*.BACKUP.HACKS]BACKUP-*.*"))
=> "V:SYS$DISK:[DMR.BACKUP.HACKS]BACKUP-FROB.LSP"
(namestring
(translate-pathname "U:/usr/dmr/hacks/frob.l"
"U:/usr/d*/hacks/fr*.l"
"V:SYS$DISK:[D*.BACKUP.HACKS]BACKUP-*.*"))
=> "V:SYS$DISK:[DMR.BACKUP.HACKS]BACKUP-OB.LSP"
なし。
なし。
truename
,
merge-pathnames
,
pathname
,
logical-pathname
,
20.1. ファイルシステムの説明,
19.1.2. ファイル名としてのパス名
なし。