(クラス)
このクラスはリソース オブジェクトのコレクションを表します。これらは通常 File オブジェクトおよび他の Directory オブジェクトです。Directory のサブクラスは特定のタイプのオブジェクトのコレクションを表します。たとえば、HttpDirectory は web サーバー上のファイルおよびディレクトリのコレクションを表します。通常これらのサブクラスに直接アクセスする代わりに、返されるオブジェクトのプロシージャおよびメソッドを Directory オブジェクトとして処理します。
説明
Directory クラスはパス名を解析する唯一のメカニズムを備えています。標準のパス名解析ルールは
NormalDirectory により実装されます。
Directory も
絶対パス名を解釈します。ほとんどの
Directory では
スキーム:
パスの形式による名前を絶対として認識しますが、特定の
Directory ではこの動作のオーバーライドを選択する場合があります (
StringDirectory などを参照してください)。
ルート Directory (
get-root-directory を呼び出して取得します) に定義されているいくつかの名前を次に示します。
- file://
- ローカルファイルを指定。 (例: file:///c:/foo/bar.curl)
- http:
- URLを指定。 (例: "http://www.curl.com/curl")
- curl:
- Curl の名前空間を指定。
アクセサ public abstract Directory.name:
String
アクセサ public abstract Directory.parent-dir:#
Directory
アクセサ public Directory.size:
int
アクセサ public abstract Directory.url:
Url
アクセサ public Directory.url-separator:
char
public | {Directory.url-separator-fn}:char |
public | {Directory.url-valid-separator?-fn c:char}:bool |
concat: | self.url を tail に連結して、新しい Url を作成します。
戻り値のクエリおよびアンカーは tail から解析されます。 |
public final | {Directory.get-if-exists}:(value:any, found?:bool) |
public | {Directory.remove}:void |
special-entry?: | copy や delete などの複合操作を実行するときに繰り返して処理しないエントリを entry が参照している場合は、true を返します。 |
public | {Directory.special-entry? entry:String}:bool |
public | {Directory.url-valid-separator? c:char}:bool |
(ファクトリ)
(アクセサ)
アクセサ public abstract Directory.name:
String self の名前。
説明
self が Curl のディレクトリ階層にリンクされている場合、このメソッドはグローバル リソースの名前空間にある
self の名前を返します。この場合、
{{url self.name}.resolve} および
で生成される値は
self に等しく (
==) なります。
self がディレクトリ階層にリンク
されていない場合、このアクセッサは
self が後で
Directory のいずれかにインストールされる予定があれば
self のキーとして使用される単純な名前を返します。
(アクセサ)
アクセサ public abstract Directory.parent-dir:#
Directory
(アクセサ)
アクセサ public Directory.size:
int コレクションの要素数を返します。
戻り値
self の要素数を示すint。
例
例 |
|
{value
|| Declare and initialize a hash table with
|| String keys and int elements.
let price:{HashTable-of String, int} =
{new {HashTable-of String, int},
"apple", 56,
"banana", 87,
"cherry", 34
}
|| Display a message indicating the size of
|| the hash table.
{text There are {value price.size} elements in
the hash table.}
}
| |
注意事項
(アクセサ)
アクセサ public abstract Directory.url:
Url
(アクセサ)
アクセサ public Directory.url-separator:
char Url のパス名コンポーネントを区切るセパレータを返します。
(クラスプロシージャ)
public | {Directory.url-separator-fn}:char |
Url のパス名コンポーネントを区切る文字を返します。
(クラスプロシージャ)
public | {Directory.url-valid-separator?-fn c:char}:bool |
c が解析における有効なセパレータである場合は true を返します。文字列が Url に変換されると、すべての有効なセパレータ (この定義に基づく) は内部表現で self.url-separator (Directory.url-separator を参照) に置換されます。
(メソッド)
self.url を tail に連結して、新しい Url を作成します。
戻り値のクエリおよびアンカーは tail から解析されます。
(メソッド)
(メソッド)
public final | {Directory.get-if-exists}:(value:any, found?:bool) |
(メソッド)
(メソッド)
public | {Directory.remove}:void |
(メソッド)
(メソッド)
public | {Directory.special-entry? entry:String}:bool |
copy や delete などの複合操作を実行するときに繰り返して処理しないエントリを entry が参照している場合は、true を返します。
entry: テストされるパス名。
説明
このメソッドの既定の実装は、self.self-name および self.self-parent-dir-name に等しいかどうかを調べるだけです。
(メソッド)
public | {Directory.url-valid-separator? c:char}:bool |
c が解析における有効なセパレータである場合は true を返します。文字列が Url に変換されると、すべての有効なセパレータ (この定義に基づく) は内部表現で self.url-separator (Directory.url-separator を参照) に置換されます。