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