最終更新:
keisuketsushima 2011年11月16日(水) 16:37:38履歴
GPhys用のディレクトリとデータファイルを代表するクラスです。
GDir[], GDir.data, GDir.text, GDir.list_dirs, GDir.list_dirs_v, GDir.list_data, GDir.list_data_v, GDir.list_texts, GDir.list_texts_v, GDir.ls, GDir.ls_v
GDirオブジェクトはディレクトリやファイル(NetCDFファイルやGrADSコントロールファイルなど)を代表しており、GPhysオブジェクトがその中の変数を定義できるようになります。これは、例えばNetCDFファイルがプレーンファイルとして扱われるというよりも、ディレクトリとして扱われることを意味しています。
GDirはrootディレクトリ(頂点)以下にディレクトリツリーを提供し、GDir.top=によってそれらをクラス変数として設定することができます。GDirの全ての絶対パスは実際はルートディレクトリに相対的であり、root外のアクセスは禁止されています。さらに、GDirはクラス変数としてワーキングディレクトリを持ち、その初期値はトップディレクトリです。これはGDir.cdで変更できます。
New(2005/06) : GDirがパスとしてDODS URLを採用できるようになりました。また、そのトップディレクトリをDODS URLに設定することができます。
GDirはrootディレクトリ(頂点)以下にディレクトリツリーを提供し、GDir.top=によってそれらをクラス変数として設定することができます。GDirの全ての絶対パスは実際はルートディレクトリに相対的であり、root外のアクセスは禁止されています。さらに、GDirはクラス変数としてワーキングディレクトリを持ち、その初期値はトップディレクトリです。これはGDir.cdで変更できます。
New(2005/06) : GDirがパスとしてDODS URLを採用できるようになりました。また、そのトップディレクトリをDODS URLに設定することができます。
rootディレクトリを設定する。これはGDir.newによってGdirオブジェクトが作成される前に行う。初期のrootディレクトリはローカルファイルシステムのルートディレクトリ('/')
トップディレクトリが"/hoge"の場合、次のいずれかの方法で"/hoge/ho"ディレクトリを開くことができる
gdir = GDir.new("/ho") gdir = GDir.new("./ho")"/hoge"(トップディレクトリ)を開きたい場合は
gdir = GDir.new("/") gdir = GDir.new(".")NetCDFファイルあるいはGrADSコントロールファイルを開くには
gdir = GDir.new("/ho/data.nc") gdir = GDir.new("/ho/data.ctl")
GDir.set_text_patternと似ているが、既存の正規表現を置き換えるのではなく追加する。
GDir[], GDir.data, GDir.text, GDir.list_dirs, GDir.list_dirs_v, GDir.list_data, GDir.list_data_v, GDir.list_texts, GDir.list_texts_v, GDir.ls, GDir.ls_v 
これらは全て現在のワーキングディレクトリに送られる。つまり、例えばGDir.showはGDir.cwd.showと等価
ディレクトリ以下にあるデータ変数を再帰的に検索する。nilでない引数に対しては、マッチングに"AND"が適用される(3つの引数のうち、少なくとも1つはnil以外でなければならない)。
- name (Regexp or String or nil) : 変数名。Stringの場合はRegexp.new(name)によって正規表現に変換される
- long_name (Regexp or String or nil) : 長い名前。Stringの場合はRegexp.new(long_name)によって正規表現に変換される
- units (Units or String or nil) : 単位名。Stringの場合はRegexp.new(units)によって正規表現に変換される
データ(GPhysオブジェクトが定義可能な変数)の名前を返す。(現在のディレクトリもしくはpathにある)GDirが実際にGPhysに認識されるファイルであれば(つまり、NetCDFやGrADSコントロールファイルであれば)、空でない配列を返す。
テキストファイルの名前を返す。ファイルがテキストかそうでないかはファイル名に基づいて判断される。予め定義されたパターンにマッチすれば、そのファイルが実際にテキストファイルであるか関わらずテキストファイルと判断される。初期のパターンは/\.txt$/と/^\w*$/。パターンはset_text_patternsかadd_text_patternsでカスタマイズ可能。
ls -lのように最後の更新日時を返す。つまり、最後の更新日時が6ヶ月以上前ならば'month date year'という形式で表示し、それ以外は'month date time'で表示する。
最新コメント