Dir-s は -s に比べてぎこちないように見えFileます。メソッドの多くはメソッドに似ていIOますが、aDirは から継承しませんIO。たとえばtell、IOドキュメントには次のように書かれています。
ios の現在のオフセット (バイト単位) を返します。
通常の をread-ing および-ingすると、およびのような大きな数値が得られます。私は当初、これらの整数がより「配列に似た」ものであり、単純な範囲であることを期待していました。tellDir346723732422823816
- これらは、に含まれるファイルのバイト
Dirですか? - そうでない場合、次のように返される数値に意味はあります
IO#tellか? - また、ストリームではないのに、なぜ
Dir-s にopenand機能があるのですか?close - a を閉じること
Dirは、通常と同じくらい重要IOですか?
Ruby がどのように機能するかについての一般的な説明をDirいただければ幸いです。
更新もう 1 つの紛らわしい部分: Dirs が s でない場合IO、なぜcloseは を発生させるのIOerrorですか?
ディレクトリ ストリームを閉じます。さらに dir にアクセスしようとすると、IOError が発生します。
また、ドキュメントでは、これを「ディレクトリ ストリーム」と見なしていることにも注意してください。したがって、これは再び、それらがストリームであるかどうかという問題を提起します。そうでない場合、なぜ命名規則なのですか?