From: matz@... (Yukihiro Matsumoto) Date: 2001-11-14T06:46:19+09:00 Subject: [ruby-list:32309] Re: fastcgi.rb and cgi.rb まつもと ゆきひろです In message "[ruby-list:32307] Re: fastcgi.rb and cgi.rb" on 01/11/14, Wakou Aoyama writes: |> * evalの利用を止めたい(CGIのサブクラスが作れない) |> * htmlの生成との分離 | |これはセットという感じかもしれませんね。require 時の処理を軽くする為に |eval で遅延生成していたという感じですから、別ライブラリに分離すれば、 |利用したいものを require する、という事で、CGI 関連とは分離して時間を |見る事ができますので。 | |時間の問題の他、eval を使った理由として、HTML 生成関連のメソッドは大量 |になるため、必要なメソッドをベタ書きするとファイルサイズが相当大きくな |りそう、という事もあったような。このあたりも再考が必要ですね。 クラス定義のレベルでのevalの使用はあんまり問題ではないと思い ます。問題はinit_elementの中で実行時にevalして特異メソッドを 定義していることで、これのせいでCGIのサブクラスで定義したメ ソッドが上書きされちゃうんですよね。ですから、こちらのevalを なくせばよろしいのでは。 |> * cgi/sessionとの兼ね合い | |了解です。というか、cgi/session 用に、と、cgi.rb の要望があったあたり |を少しすりあわせた記憶がある程度ですが、あのような感じの事でしょうか? そうです。上記とは矛盾するのですが、cgi/sessionはCGI自身の持 つHTML出力機能を利用してセッション情報の書き出しを隠蔽してい ます(具体的には @output_hidden と @output_cookies)。分離する ならこれらについてなんらかの手当てが必要でしょう。 |それとも、Session クラスも require 'cgi' 一発で使えた方が便利かも、と |いう感じの事でしょうか? こっちは考えてません。分離したままの方が望ましいと思ってます。 まつもと ゆきひろ /:|)