From: "中村暁史 Nakamura Akifumi" Date: 1999-09-21T03:46:30+09:00 Subject: [ruby-list:16955] Re: Dir.glob お世話になっております。 A.中村です。 On Mon, 20 Sep 1999 10:33:04 +0900 Takashi Nishimoto wrote: > ただ、要望として Dir.foreach みたいにイテレータも取れればいいなと思っ > ています。その方がスッキリしているような気がします。 > > Dir.glob('*').each { ... } files=Dir.contents.each{...} とか?なんか変だなあ。 Dirって、ディレクトリというモノじゃなくて 「ディレクトリストリーム操作」のためのクラスだって ヘルプにゃ書いてありますね。つまりそれ自体が 中身のファイル群へのイテレーションのカーソル??。 なんてーか、初心者の俺としては 「え?ディレクトリって、モノじゃなかったの?」という 違和感を抱きました。 そのせいなんですかね、ディレクトリのMOVEが無いのは。 #Fileのrenameでやりゃいいのかな…つまりFileが実は #ファイル以外の色々なものをサポートしてると。 #でもディレクトリにsizeメソッドがあるってのも妙だし。 そういやFileクラスのほうも、「ファイルというモノ」と 「ファイルの中身の操作手段(を提供するオブジェクト)」が 渾然一体になってるように見えないでもない(^^; ありゃりゃ(^^; 1: 以前仕事で使ってた某おぶぢぇくと指向PDMシステムでは、 Dirはディレクトリというモノだった。FileとDirは ともにFileSystemItemクラスのサブクラス。 FileSystemItemオブジェクトはFileSystemオブジェクト (サイト名と途中までのパス名が主な属性)に 所有されるのね。 2: 先日友人にOberonというパスカルもどき(?)の 処理系(とOS)を教えてもらったんですが、これの場合だと FileとFileの中身とはめちゃめちゃ別概念になっているそうで、 FileをCreateして、そのFileに「Rider」というオブジェクトを 乗せる(笑)と、このRiderによってはじめてseekなどが出来る ようになるんだそうです。 ファイル名を付けない「無名」ファイルをCreateして Riderをそれに乗せると、無名のままseekできるそうな(^^; Riderは二人乗り(笑)もできるっていうハナシだったかな。 んで、無名Fileへの用事が終わってRiderを降ろす(笑)と、 Riderからも「名前」からも参照されなくなった無名ファイルは 「ガベコレされる」んだとさ(^^;。いいないいな。 ひとりごと: こーゆー意味での「UNIX主義」は、あまり好きくない…