argius note

プログラミング関連

ファイル関連のクラス&モジュール

ファイルを扱うクラスやモジュールには、FileとかFileTestとかFile::StatとかPathnameがある。FileTestはモジュール。Pathnameは添付ライブラリのクラス。Pathname以外は組み込み。以下のように、同じような操作を持っている。

File.directory?(s)
FileTest.directory?(s)
File::Stat.new(s).directory?
Pathname.new(s).directory?

それぞれの違いはこんな感じだと思う。

  • Fileは、ファイルに対するあらゆる操作を実装している。FileTestを包含している。
  • FileTestは、shとかPerlのファイルテストと同じ。
  • File::Statは、statシステムコールのラッパーか。
  • Pathnameは、パスの抽象オブジェクト。JavaのFileクラスと似ている。

組込み関数にはこんなのもあった。

test(?d,s)