Gphysライブラリマニュアル日本語版(非公式) - class NumRu::GDir
GPhys用のディレクトリとデータファイルを代表するクラスです。

概要

GDirオブジェクトはディレクトリやファイル(NetCDFファイルやGrADSコントロールファイルなど)を代表しており、GPhysオブジェクトがその中の変数を定義できるようになります。これは、例えばNetCDFファイルがプレーンファイルとして扱われるというよりも、ディレクトリとして扱われることを意味しています。

GDirはrootディレクトリ(頂点)以下にディレクトリツリーを提供し、GDir.top=によってそれらをクラス変数として設定することができます。GDirの全ての絶対パスは実際はルートディレクトリに相対的であり、root外のアクセスは禁止されています。さらに、GDirはクラス変数としてワーキングディレクトリを持ち、その初期値はトップディレクトリです。これはGDir.cdで変更できます。

New(2005/06) : GDirがパスとしてDODS URLを採用できるようになりました。また、そのトップディレクトリをDODS URLに設定することができます。

Class Methods

GDir.top=(top)

rootディレクトリを設定する。これはGDir.newによってGdirオブジェクトが作成される前に行う。初期のrootディレクトリはローカルファイルシステムのルートディレクトリ('/')
引数
  • top (String) : トップディレクトリのパス
返り値
  • トップディレクトリの絶対パス(String)('/'に続く形)

GDir.top

返り値
  • トップディレクトリの絶対パス(String)('/'に続く形)

GDir.new(path)

コンストラクタ。
引数
  • path (String) : GDirとして開くディレクトリのパス。このパスはトップディレクトリとして表現される
返り値
GDir
エラー
  • パスが(トップディレクトリから続く)ディレクトリツリーの外であった場合はArgumentErrir
トップディレクトリが"/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(*regexpss")

テキストファイルの名前にマッチする正規表現を設定する。初期値は/\.txt$/と/^\w*$/。
引数
  • 0個以上の正規表現(0個の時は、ファイルをNetCDFファイルとして扱わない)
返り値
  • nil
エラー
  • 引数が正規表現でない場合はTypeError

GDir.add_text_pattern(regexp [, regexp [, ...]])

GDir.set_text_patternと似ているが、既存の正規表現を置き換えるのではなく追加する。
返り値
  • nil
エラー
  • 引数が正規表現でない場合はTypeError

GDir.cd(path)

クラスのワーキングディレクトリを変更する。
返り値
  • GDir

GDir.cwd=(path)

GDir.cdのエイリアス。

GDir.cwd

現在のワーキングディレクトリをGDirとして返す。ワーキングディレクトリの初期値はトップディレクトリ。
返り値
  • GDir

GDir.cd(path)

ワーキングディレクトリをパスに変換
返り値
  • GDir(現在のワーキングディレクトリがパスに変化したもの)

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と等価

インスタンスメソッド

close

GDir内のファイルオブジェクトやディレクトリオブジェクトを閉じる。

path

パスを返す。(トップディレクトリからの相対パス)
返り値
  • String

name

GDirの名前。
返り値
  • String

inspect

パスを返す。
返り値
  • String

[path]

dir、data、textを実行することで、パスに基づいたGDir、GPhys、File(テキスト)を返す。
引数
  • path (String) : 相対パスもしくは絶対パス
返り値
  • GDir, GPhys, File(テキスト)のどれか
エラー
  • パスが正しくない場合は例外発生

dir(path)

指定されたパスのGDirを返す
引数
  • path (String) : 相対パスもしくは絶対パス
返り値
  • GDir
エラー
  • パスがGDirとして適切でない場合は例外発生

data(path)

パスで指定されたGPhysを返す。
引数
  • path (String) : 相対パスもしくは絶対パス
返り値
  • GPhys
エラー
  • パスがGPhysとして適切でない場合は例外発生

text(path)

パスで指定されたテキストファイルオブジェクトを返す。
引数
  • path (String) : 相対パスもしくは絶対パス
返り値
File
エラー
  • パスがテキストファイルとして適切でない場合は例外発生(パターンに基づく。上記参照)

find_dir( filt )

filtにマッチする名前のGDirを再帰的に検索する
引数
  • filt (Regexp or String) : Stringの場合はRegexp.new(filt)によって正規表現に変換される
返り値
  • マッチしたパス(String)のArray

find_data( name=nil,long_name=nil,units=nil )

ディレクトリ以下にあるデータ変数を再帰的に検索する。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)によって正規表現に変換される
返り値
  • マッチしたパスと変数名(String)のArray(2つの要素を持つStringのArray:[path, variable_name])

list_dirs(path=nil)

ディレクトリ名を返す。
lsも参照
引数
  • path (nil or String) : nilの場合、メソッドは現在のディレクトリに適用される。指定されている場合は、それに基づいてリストを作成する。相対パスか絶対パスのいずれか
返り値
  • StringのArray

list_dirs_v(path=nil)

list_dirsの詳細版。'ls -l'のようにサイズや更新日時を表示する。
ls_lも参照。
引数
  • list_dirs参照
返り値
  • StringのArray
    • 文字列の例:
275492  Apr 12 19:15 hogehoge_data.nc/

list_data(path=nil)

データ(GPhysオブジェクトが定義可能な変数)の名前を返す。(現在のディレクトリもしくはpathにある)GDirが実際にGPhysに認識されるファイルであれば(つまり、NetCDFやGrADSコントロールファイルであれば)、空でない配列を返す。
引数
  • path (nil or String) : nilの場合、メソッドは現在のディレクトリに適用される。指定されている場合は、それに基づいてリストを作成する。相対パスか絶対パスのいずれか
返り値
  • StringのArray

list_data_v(path=nil)

list_dataの詳細版。形状や長い名前、単位を表示する。
ls_lも参照
引数
  • list_data参照
返り値
  • StringのArray
    • 文字列の例:
u     [lon=120,lat=120,z=40,t=73]     'x components of velocity'      (m/s)

list_texts(path=nil)

テキストファイルの名前を返す。ファイルがテキストかそうでないかはファイル名に基づいて判断される。予め定義されたパターンにマッチすれば、そのファイルが実際にテキストファイルであるか関わらずテキストファイルと判断される。初期のパターンは/\.txt$/と/^\w*$/。パターンはset_text_patternsかadd_text_patternsでカスタマイズ可能。
引数
  • path (nil or String) : nilの場合、メソッドは現在のディレクトリに適用される。指定されている場合は、それに基づいてリストを作成する。相対パスか絶対パスのいずれか
返り値
  • StringのArray

list_texts_v(path=nil)

list_textsの詳細版。'ls -l'のようにサイズや更新日時を表示する。
ls_lも参照
引数
  • list_texts参照
返り値
  • StringのArray

ls(path=nil)

list_dirs、list_data、list_textsの結果を標準出力に出力する。
返り値
  • nil

each_dir

self下のそれぞれのディレクトリ(GDir)に対するイテレータ。

each_data

self下のそれぞれのGPhysに対するイテレータ。

ls_l(path=nil)

lsの詳細版。list_dirs_v、list_data_v、list_texts_vの結果を標準出力に出力する。
返り値
  • nil

mtime

最後の更新日時を返す。

返り値

  • Time

atime

最後のアクセス日時を返す。
返り値
  • Time

ctime

ctimeを返す。
返り値
  • Time

mtime_like_ls_l

ls -lのように最後の更新日時を返す。つまり、最後の更新日時が6ヶ月以上前ならば'month date year'という形式で表示し、それ以外は'month date time'で表示する。
返り値
  • String