[#38470] ruby-dev summary 21403-21530 (draft) — Minero Aoki <aamine@...>

青木です。

25 messages 2003/10/07
[#38475] Re: ruby-dev summary 21403-21530 (draft) — maili31s@... (SugHimsi==SUGIHARA Hiroshi) 2003/10/07

すぎむし。

[#38480] Re: ruby-dev summary 21403-21530 (draft) — Minero Aoki <aamine@...> 2003/10/08

青木です。

[#38481] marshal_dump (was Re: ) — m_seki@... 2003/10/08

[#38484] Re: marshal_dump (was Re: ) — matz@... (Yukihiro Matsumoto) 2003/10/09

まつもと ゆきひろです

[#38486] Re: marshal_dump (was Re: ) — Masatoshi Seki <m_seki@...> 2003/10/09

咳といいます

[#38489] exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to>

<http://www.unixuser.org/~ysjj/diary/?200310a&to=200310082#200310082>

29 messages 2003/10/09
[#38490] Re: exit status on exit! — Koji Arai <JCA02266@...> 2003/10/09

新井です。

[#38503] Re: exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to> 2003/10/10

In Message-Id: <20031010.082218.74733862.JCA02266@nifty.ne.jp>

[#38505] Re: exit status on exit! — Koji Arai <JCA02266@...> 2003/10/10

新井です。

[#38507] Re: exit status on exit! — matz@... (Yukihiro Matsumoto) 2003/10/11

まつもと ゆきひろです

[#38514] Re: exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to> 2003/10/11

In Message-Id: <1065883639.405037.23137.nullmailer@picachu.netlab.jp>

[#38515] Re: exit status on exit! — WATANABE Hirofumi <eban@...> 2003/10/11

わたなべです。

[ruby-list:38496] Re: デストラクタについて

From: nobu.nakada@...
Date: 2003-10-10 05:07:44 UTC
List: ruby-list #38496
なかだです。

At Fri, 10 Oct 2003 12:14:05 +0900,
岩崎 弘孝 wrote:
> これとよく似たコードを作ったつもりでしたが、上手くいかない部分が
> ありました。でなにが違うか検討してから再度連絡します。

上手くいかない部分というのがどういうものか分かりませんが、もし
finalizerが実行されないということなら、finalizerの中で対象オブ
ジェクトを参照していたりしませんか。インスタンスメソッドの中で
作ったブロックからは、selfとして参照されています。

> 元の質問とは直接関係しませんが、コードに関する追加の質問です。
> 1.@dirtyは単にデータが変更されたことを示すフラグとして利用しているだ
> け?

そうです。finalizerへ何か通知する場合の一例です。

> 2.@dirtyが配列として定義している意味は?

単に false/true だけでは、finalizerに変更を伝えることはできませ
ん。finalizerに渡された値と、その後@dirtyに代入される値はまった
く無関係だからです。CやC++ならポインタや参照を使うところですが、
Rubyには変数に対する参照というものは言語仕様上存在しないので、
便宜上コンテナオブジェクトを利用しています。Javaのように専用の
コンテナクラス(Booleanなど)を作ることも可能ですが、RubyのArray
はなんでも容れられるのでほとんどの場合はこれで充分でしょう。

あとは、lib/tempfile.rbなども参考にしてみてください。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread

Prev Next