なかだです。

At Wed, 24 Nov 1999 18:42:25 +0900,
matz / netlab.co.jp (Yukihiro Matsumoto) wrote:
> |> で、取り込み作業してて思ったんですが、ここまで機能を追加しちゃ
> |> うとStructである意味は全然無いですね。struct statをそのまま
> |> ラップしてlazyに値を出した方が良さそうですね。時間がとれたら
> |> そうしよう。
> |
> |  作業をしてる、ということはとりあえず手を出さない方がいいですか。
> 
> いや、貰ったパッチ[ruby-list:8375]を当てただけですけど。
> なにかもっと手を出したいことがありましたか?

  まだ実際に class にしようとしてるわけではないんですね。lazy に
というとひょっとしてこんな感じなのかな、とか思ったのですが。
lazy 過ぎ?

class File
  alias __stat stat
  alias __lstat lstat

  class Stat
    def initialize(path)
      @path = path
      @stat = nil
    end

    def stat; @stat ||= File.__stat(@path); end
    def lstat; @stat ||= File.__lstat(@path); end

    def symlink?; lstat.symlink?; end
    def file?; stat.file?; end
  end

  def stat(filename) (s = Stat.new(filename)).stat and s end
  def lstat(filename) (s = Stat.new(filename)).lstat and s end
end

-- 
そうだ 強気に ちょっと インチキに☆彡
    中田 "Bugるくらいがちょうどいいかも;-)" 伸悦