以下の関数は、パス名として解釈されるストリングに対し操作を行なうという点で共通 しています。これらは実際、ファイルに対し処理を行なうわけではありません。このた め、これらの処理の対象となるアーギュメントストリングは既存のファイルやディレク トリを指す必要はありません。
これらは全て、(ストリングでなくてはいけない)アーギュメント pathname を 1 つだ け取ります。環境変数(i.e., $HOME) やシンボル ~ や .. は展開(訳注:expand)され ません。
Function: file-name-as-directory pathname
この関数は、 pathname をディレクトリとして表わすストリングを返します (解釈 された??説明すること!!)。unix ではこれは単に / (訳注:slash) をアペンドす るだけです。VMS ではこれは `[X]Y.DIE.1' を `[X.Y]' に変換します。
(file-name-as-directory "~rms/lewis")
=> "~rms/lewis/"
Function: directory-file-name pathname
この関数は、 pathname をファイルとして(??)表わすストリングを返します GNU ではこれは単に最後の / (訳注:slash) を取るだけです。VMS ではこれは `[X.Y]' を `[X]Y.DIE.1' に変換します。
(directory-file-name "~lewis/") => "~lewis"
Function: file-name-absolute-p pathname
この関数は、 pathname が絶対パス名として指定された場合 t を返し、そうでな い場合 nil を返します。
(file-name-absolute-p "~rms/foo") => t (file-name-absolute-p "rms/foo") => nil (file-name-absolute-p "$HOME") => nil (file-name-absolute-p "/user/rms/foo") => t
Function: file-name-directory pathname
この関数は、 pathname 中のディレクトリ部分(訳注:component)を返します。 pathname がディレクトリを含まない場合 nil を返します。 GNU では / で終るス トリングを返します。 VMS では 3つの文字 :]> のどれか 1つで終るストリングを 返します。
(file-name-directory "lewis/foo") ; Unix の例
=> "lewis/" (file-name-directory "foo") ; Unix の例 => nil (file-name-directory "[X]FOO.TMP") ; VMS の例 => [X]
Function: file-name-nondirectory pathname
この関数は、 pathname から (それが存在すれば)ディレクトリ部分(訳注: component)を除いてファイル名を返します。
(file-name-nondirectory "lewis/foo") => "foo" (file-name-nondirectory "foo") => "foo" (file-name-nondirectory "[X]FOO.TMP") => "FOO.TMP"
Function: file-name-sans-versions pathname
この関数は、 pathname から、バックアップバージョン番号、それに続く ~ を除 いたファイル名を返します ??VMS??。あなたの所の `site-init' やスタートアッ プファイルはこの Lisp 関数を再定義しているかもしれません。
(file-name-sans-versions "~rms/foo.~1~") => "~rms/foo" (file-name-sans-versions "~rms/foo~") => "~rms/foo" (file-name-sans-versions "~rms/foo") => "~rms/foo" (file-name-sans-versions "foo;23") => "foo" (file-name-sans-versions "foo$__$") => "foo$__$"
Function: make-temp-name string
この関数は、 string で始まるテンポラリな名前を生成します。 C の関数 mktemp == ?? なぜこれが temp??
(make-temp-name "foo") => "foo021304 (make-temp-name "foo") => "foo021304
Function: define-logical-name varname string
Type Primitive Function SourceFile fileio.c 論理名 name が値 string を持つ よう定義します(訳注:??)。