[#38724] 祝日判定用メソッド — Take_tk <ggb03124@...>

たけ(tk)です

19 messages 2003/11/02

[#38756] ruby-dev summary 21730-21822 /draft — Minero Aoki <aamine@...>

青木です。

14 messages 2003/11/05

[ruby-list:38831] Re: オブジェクトを確実に廃棄する方法はありますか?

From: Minero Aoki <aamine@...>
Date: 2003-11-21 11:30:22 UTC
List: ruby-list #38831
青木です。

  In mail "[ruby-list:38830] オブジェクトを確実に廃棄する方法はありますか?"
    Take_tk <ggb03124@nifty.ne.jp> wrote:

> たけ(tk)です

> ちょっと特殊なオブジェクトで申し訳ないのですが、特定のタイミングで確実に
> 廃棄しないとエラーになってしまうオブジェクトがあるのです。
> 
> ところが、そのオブジェクトを引数にしてメソッドを呼び出しただけで廃棄され
> なくなってしまうようです。
> 
> うえのプログラムで調べたところ、Rubyの他のオブジェクトでも同様に廃棄され
> なくなるようです。
> 
> 他から参照されていないオブジェクトを確実に廃棄する方法はありますでしょう
> か?

ありません。Ruby の GC は conservative GC と言って、ポインタ
「っぽい」ものは全てポインタとみなします。つまり、オブジェクト
へのポインタに見えてしまう数値がスタックのどこかにあるだけで
オブジェクトは回収されなくなります。

確実に後始末をする必要がある場合は、後始末をするメソッド
(または関数) を明示的に呼ぶしかありません。IO#close みたいに。
-------------------------------------------------------------------
青木峰郎

In This Thread