[ruby-list:322] Re: Reqest for Find and BUG report
From:
Date:
1996-07-19 09:26:33 UTC
List:
ruby-list #322
けいじゅ@SHLジャパンです.
In [ruby-list :00318 ] the message: "[ruby-list:318] Re: Reqest for
Find and BUG report ", on Jul/19 17:28(JST) matz@caelum.co.jp
(Yukihiro Matsumoto) writes:
>あんまりいっぺんにいろんなことが書いてあるので,びっくりして
>しまいそうですが,一つずつ答えます.
後半は難しいです(^^;;
>まったくです.GCで回収されたディレクトリオブジェクトはクロー
>ズされますが,問題が残ることには変わりありませんね.
へー. そういうふうになっていたのですか. ここで質問:
File以外のクラスのインスタンスでもGCされる時に, あるメソッドが実行され
るとかいうことはあるのですか?
>わかりました.これを元にしたものに変更します.直すとしたら
>
> * 「extend Find」は歴史的な名残なので外す
何これ?
> * 「not (file = ary.shift).nil?」は「file = ary.shift」に
そうか... 何か面倒臭いと思っていたのでした.
>?sはサイズです.シンボリックリンクは?lです.もっともバグって
>いることには変わり無いですけど.
?s はサイズでしたか? おかしいとは思ったんですよ.
>止めるといいますとイテレータの実行を中断するだけで良いんです
>か? それならbreakを使ってください.-pruneみたいにこの枝の探
>索は打ち切るが,他の枝の検索を続けるというのはちょっと面倒だ
>と思います.が,方法はあります(下記参照).
-prune のいみです.
>rubyにはcatch/throwがありますので,それを使えば可能かも知れ
>ませんねえ.
>
>File#findのwhileループのすぐ内側に
>
> catch(:prune) {
> }
>
>を置いて
>
> def prune
> throw :prune, nil
> end
>
>とすれば目的が達成できそうに思います.ちょっと遅いかも知れま
>せんけど.
遅くてもいいので, それを実装した形でFindをリリースして下さいませ.
ただ, ちょっと気になるのが, このままのpruneだと 入れ子のファインドがで
きなくない様な気がします. そんなことはないですか?
__
..........................................石塚 圭樹@SHLジャパン(株)...
------------->アドレス変わりました!! e-mail: keiju@shljapan.co.jp <----