山本です。

>名前を先にyieldしてからその中身を読むという動作上、ある程度はしょ
>うがないような気がします。これをどうしても避けたいなら、今
>rb_w32_opendir()でやっているように一度全部読んでしまう以外には
>ないかも知れません。

この発言を取り違えてました。なかださんは、配列バージョンのように
マッチするパスを全部読み込んで、という意味でおっしゃったんですね。
私は、glob_helperの中で全部d_linkに格納して、という意味にとってました(汗)

>しかし今度は、readdir()したときにはあったファ
>イルがなくなったり、なかったものが増えていたりという可能性もで
>てくるでしょうし。

これは配列バージョンもそうなので、一貫性として、むしろ好ましい気がします。

全部読み込む方法で、一度試しに組んでみようと思います。