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
"getty" :TYPE NIL :VERSION NIL)
:NAME 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. ファイル名としてのパス名
なし。