[#42851] Object#define_singleton_method がない?? — take_tk <ggb03124@...>
たけ(tk)です
14 messages
2006/10/06
[#42852] Re: Object#define_singleton_method がない??
— Yukihiro Matsumoto <matz@...>
2006/10/06
まつもと ゆきひろです
[#42853] Re: Object#define_singleton_method がない??
— take_tk <ggb03124@...>
2006/10/06
たけ(tk)です。
[#42854] Re: Object#define_singleton_method がない??
— Yukihiro Matsumoto <matz@...>
2006/10/06
まつもと ゆきひろです
[#42855] Re: Object#define_singleton_method がない??
— take_tk <ggb03124@...>
2006/10/06
たけ(tk)です。
[#42856] Re: Object#define_singleton_method がない??
— Yukihiro Matsumoto <matz@...>
2006/10/07
まつもと ゆきひろです
[#42870] system の実行タイミングのトラブル — "Hideo Konami" <konami@...>
小波です。
18 messages
2006/10/14
[#42874] Re: system の実行タイミングのトラブル
— "Hideo Konami" <konami@...>
2006/10/14
小波です。
[#42876] Re: system の実行タイミングのトラブル
— cuzic <cuzic@...>
2006/10/14
cuzic です。
[#42877] Re: system の実行タイミングのトラブル
— rubikitch <rubikitch@...>
2006/10/15
From: cuzic <cuzic@cuzic.com>
[#42878] Re: system の実行タイミングのトラブル
— cuzic <cuzic@...>
2006/10/15
cuzic です。
[#42881] Re: system の実行タイミングのトラブル
— rubikitch <rubikitch@...>
2006/10/15
From: cuzic <cuzic@cuzic.com>
[#42882] Re: system の実行タイミングのトラブル
— cuzic <cuzic@...>
2006/10/16
cuzic です。
[#42883] Re: system の実行タイミングのトラブル
— rubikitch <rubikitch@...>
2006/10/16
From: cuzic <cuzic@cuzic.com>
[#42885] apt-listbugs: soap4r での悩み — Junichi Uekawa <dancer@...>
ruby-list のみなさま、
21 messages
2006/10/16
[#42891] Re: apt-listbugs: soap4r での悩み
— "NAKAMURA, Hiroshi" <nakahiro@...>
2006/10/17
-----BEGIN PGP SIGNED MESSAGE-----
[#42892] Re: apt-listbugs: soap4r での悩み
— Junichi Uekawa <dancer@...>
2006/10/17
こんにちは、
[#42896] Re: apt-listbugs: soap4r での悩み
— "NAKAMURA, Hiroshi" <nakahiro@...>
2006/10/17
-----BEGIN PGP SIGNED MESSAGE-----
[#42897] Re: apt-listbugs: soap4r での悩み
— Junichi Uekawa <dancer@...>
2006/10/17
At Tue, 17 Oct 2006 22:39:31 +0900,
[#42886] [Q] large-size XML file, REXML, dRuby — NISHIMATSU Takeshi <t_nissie@...>
西松と申します。
8 messages
2006/10/16
[#42914] Ruby インストールガイド - MacOS X : 更新 — "S_Konno(今野 滋)" <sk@...>
みなさま、はじめまして、今野と申します。
9 messages
2006/10/20
[#42922] Time.iso8601が常にUTCの時刻を返す — "Hiroshi Ichikawa" <gimite@...>
Gimiteといいます。
6 messages
2006/10/29
[#42923] Re: Time.iso8601が常にUTCの時刻を返す
— rubikitch <rubikitch@...>
2006/10/29
From: "Hiroshi Ichikawa" <gimite@gmail.com>
[#42929] Re: 括弧なしsuperで引数が引き継がれない — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
17 messages
2006/10/31
[#42930] Re: 括弧なしsuperで引数が引き継がれない
— "U.Nakamura" <usa@...>
2006/10/31
こんにちは、なかむら(う)です。
[#42931] instant rails インストール! irbを起動するには?
— "Uema Tsuyoshi" <mugenkai15@...>
2006/10/31
上間といいます。
[#42933] Re: instant rails インストール! irbを起動するには?
— "きむらこういち" <hogemuta@...>
2006/10/31
木村です。
[#42937] Re: instant rails インストール! irbを起動するには?
— "Uema Tsuyoshi" <mugenkai15@...>
2006/10/31
上間です。
[#42939] Re: instant rails インストール! irbを起動するには?
— KIMURA Koichi <kimura.koichi@...>
2006/11/01
木村です。
[#42943] Re: instant rails インストール! irbを起動するには?
— "Uema Tsuyoshi" <mugenkai15@...>
2006/11/01
木村さま
[#42944] Re: instant rails インストール! irbを起動するには?
— "きむらこういち" <hogemuta@...>
2006/11/01
木村です。
[#42945] Re: instant rails インストール! irbを起動するには?
— "Uema Tsuyoshi" <mugenkai15@...>
2006/11/01
上間です
[ruby-list:42876] Re: system の実行タイミングのトラブル
From:
cuzic <cuzic@...>
Date:
2006-10-14 22:34:20 UTC
List:
ruby-list #42876
cuzic です。
Ruby にはデストラクタがないので、イニシャライザで行った前処理に対応する
後処理をクラスのどこに書けばよいのかよく
悩みますよね。
簡単な方法として at_exit を使って、プログラム終了時に後処理を行うというテクニックがあります。
ただ、途中でGCされたときとかに面倒になりそうなので
意味なくグローバル変数に登録してみたりとかしています。
本当にグローバル変数的に使いたいときはこの方法はオススメですね。
状況によっては、Net::HTTP.start のように、クラスメソッドとして
ブロックを引数にとるメソッドを容易する方法を用います。
この方法は rubikitch さんが紹介した方法かな。
使える場合も多いのですが、singleton なクラスの場合
とかでグローバル変数的に使いたい場合には向きません。
最後に ObjectSpace.define_finalizer を用いる方法があります。
これはドキュメントにも書かれていますが、使い方が難しい方法です。
http://www.ruby-lang.org/ja/man/?cmd=view;name=ObjectSpace
しかしながら、一番美しい方法です。
それに小難しいことをやっている気分にひたれるというメリットも
あります。
でわでわ。
06/10/14 に Hideo Konami<konami@kyoto-wu.ac.jp> さんは書きました:
> 小波です。
>
> --- "rubikitch" <rubikitch@ruby-lang.org> ---
>
> >あらま、ちゃんとブロックを使わなくちゃ:-)
>
> ついでということで質問させてください。このプログラムでは,
>
> class Postscript
> def initalize(psfile)
> @ps = psfile
> File.open(@ps)
> @ps.puts EPS_HEADER
> end
> def set_color(hogehoge)
> honyarara
> @ps.puts "#{r} #{g} #{b} setrgbcolor"
> end
> end
>
> などといったクラスを定義しています。しかしこれだと
>
> Postscript.open(file) do |ps|
> ps.set_color('red')
> ...
> end
>
> というふうには書けそうもないので,クローズ忘れという
> どじが発生してしまうわけです。うまいやり方はないものでしょ
> うか。
>
>
>
>
>
>
>