[#32182] 汚染された文字列の eval — 堀川 久 <vzw00011@...>

こんにちは。

18 messages 2001/11/03
[#32183] Re: 汚染された文字列の eval — matz@... (Yukihiro Matsumoto) 2001/11/03

まつもと ゆきひろです

[#32205] assert and assert_equal — Masaki Suketa <masaki.suketa@...>

助田です。

15 messages 2001/11/05

[#32263] fastcgi.rb and cgi.rb — 岡田 潤 <yun@...>

ゆんです。

37 messages 2001/11/08
[#32273] Re: fastcgi.rb and cgi.rb — Shugo Maeda <shugo@...> 2001/11/09

前田です。

[#32280] Re: fastcgi.rb and cgi.rb — Wakou Aoyama <wakou@...> 2001/11/09

青山です。

[#32308] Re: fastcgi.rb and cgi.rb — TAKAHASHI Masayoshi <maki@...> 2001/11/13

高橋征義です。

[#32359] Re: fastcgi.rb and cgi.rb — MoonWolf <moonwolf@...> 2001/11/15

> うーん、あんまり文字列一般が備えるべき機能ではないと

[#32377] Re: fastcgi.rb and cgi.rb — TAKAHASHI Masayoshi <maki@...> 2001/11/16

高橋征義です。

[#32380] Re: fastcgi.rb and cgi.rb — MoonWolf <moonwolf@...> 2001/11/16

> でも、128から255までの場合、ISO-8859-1を使っている人で、

[#32329] PalmOS for Ruby — Toru MITANI <toru_m@...2.dion.ne.jp>

94 messages 2001/11/14
[#32330] Re: PalmOS for Ruby — rubikitch <rubikitch@...> 2001/11/14

From: Toru MITANI <toru_m@h2.dion.ne.jp>

[#32332] Re: PalmOS for Ruby — Toru MITANI <toru_m@...2.dion.ne.jp> 2001/11/14

[#32346] Re: PalmOS for Ruby — rubikitch <rubikitch@...> 2001/11/15

From: Toru MITANI <toru_m@h2.dion.ne.jp>

[#32356] Re: PalmOS for Ruby — "Masatake E. Hori" <eddie@...> 2001/11/15

ほり@筑波大学といいます

[#32358] Re: PalmOS for Ruby — rubikitch <rubikitch@...> 2001/11/15

From: "Masatake E. Hori" <eddie@luft.geo.tsukuba.ac.jp>

[#32349] Re: PalmOS for Ruby — Toru MITANI <toru_m@...2.dion.ne.jp> 2001/11/15

[#32352] Re: PalmOS for Ruby — rubikitch <rubikitch@...> 2001/11/15

From: Toru MITANI <toru_m@h2.dion.ne.jp>

[#32354] Re: PalmOS for Ruby — Toru MITANI <toru_m@...2.dion.ne.jp> 2001/11/15

[#32357] Re: PalmOS for Ruby — rubikitch <rubikitch@...> 2001/11/15

From: Toru MITANI <toru_m@h2.dion.ne.jp>

[#32363] Re: PalmOS for Ruby — Toru MITANI <toru_m@...2.dion.ne.jp> 2001/11/15

[#32392] Re: PalmOS for Ruby — rubikitch <rubikitch@...> 2001/11/17

From: Toru MITANI <toru_m@h2.dion.ne.jp>

[#32401] Re: PalmOS for Ruby — Toru MITANI <toru_m@...2.dion.ne.jp> 2001/11/17

[#32402] Ruby Reference Manual for PalmOS — rubikitch <rubikitch@...> 2001/11/17

From: Toru MITANI <toru_m@h2.dion.ne.jp>

[#32408] Re: Ruby Reference Manual for PalmOS — Toru MITANI <toru_m@...2.dion.ne.jp> 2001/11/18

[#32423] Re: Ruby Reference Manual for PalmOS — rubikitch <rubikitch@...> 2001/11/19

From: Toru MITANI <toru_m@h2.dion.ne.jp>

[#32426] Re: Ruby Reference Manual for PalmOS — Toru MITANI <toru_m@...2.dion.ne.jp> 2001/11/19

[#32428] Re: Ruby Reference Manual for PalmOS — Takahiro Kambe <taca@...> 2001/11/19

In message <20011119230955.E9F7.TORU_M@h2.dion.ne.jp>

[#32432] Re: Ruby Reference Manual for PalmOS — Toru MITANI <toru_m@...2.dion.ne.jp> 2001/11/19

[#32445] Re: Ruby Reference Manual for PalmOS — rubikitch <rubikitch@...> 2001/11/20

From: Toru MITANI <toru_m@h2.dion.ne.jp>

[#32440] shibu-rug — KANDA Daisuke <MAP2303@...>

40 messages 2001/11/20
[#32451] Re: shibu-rug — rubikitch <rubikitch@...> 2001/11/20

From: KANDA Daisuke <MAP2303@mapletown.net>

[#32455] Re: shibu-rug — KANDA Daisuke <MAP2303@...> 2001/11/20

[#32545] Re: shibu-rug — KANDA Daisuke <MAP2303@...> 2001/11/26

[#32558] Re: shibu-rug — KANDA Daisuke <MAP2303@...> 2001/11/27

[#32623] Re: shibu-rug — TAKAHASHI Masayoshi <maki@...> 2001/11/29

高橋征義です。

[#32658] Re: shibu-rug — KANDA Daisuke <MAP2303@...> 2001/11/30

[#32661] Re: shibu-rug — TAKAHASHI Masayoshi <maki@...> 2001/11/30

高橋征義です。

[#32694] sandstorm (Re: Re: shibu-rug) — Dai <MAP2303@...> 2001/12/01

[#32716] RUG 用ドメインなど (Re: shibu-rug) — rubiben <ozaki@...> 2001/12/03

 rubiben です。

[#32465] Ruby for PalmOS に対する熱い想い — Toru MITANI <toru_m@...2.dion.ne.jp>

80 messages 2001/11/20
[#32519] Re: Ruby for PalmOS に対する熱い想い — "Nibu, Mitsunori." <nyu@...> 2001/11/23

newです.

[#32527] Re: Ruby for PalmOS に対する熱い想い — rubikitch <rubikitch@...> 2001/11/23

From: "Nibu, Mitsunori." <nyu@nk.rim.or.jp>

[#32533] Re: Ruby for PalmOS に対する熱い想い — "丹生 光則 Nibu,Mitsunori." <nyu@...> 2001/11/24

newです.

[#32537] Re: Ruby for PalmOS に対する熱い想い — rubikitch <rubikitch@...> 2001/11/25

From: "丹生 光則 Nibu,Mitsunori." <nyu@nk.rim.or.jp>

[#32542] Re: Ruby for PalmOS に対する熱い想い — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/11/26

newです.

[#32550] Re: Ruby for PalmOS に対する熱い想い — rubikitch <rubikitch@...> 2001/11/26

From: "丹生 光則 Nibu,Mitsunori." <nibu@tec.osaka.jip.co.jp>

[#32557] Re: Ruby for PalmOS に対する熱い想い — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/11/27

newです.

[#32566] Re: Ruby for PalmOS に対する熱い想い — Nakamura Akifumi <BXQ04723@...> 2001/11/27

[#32567] Linux カーネル 2.0 での make — Victor Alexander Debuque <victor@...> 2001/11/27

初めまして。オーストラリア在住のビクターと申します。ハンドルではなく本名です。(^^;)

[#32563] Re: Ruby for PalmOS に対する熱い想い — Toru MITANI <toru_m@...2.dion.ne.jp> 2001/11/27

[#32598] Re: Ruby for PalmOS に対する熱い想い — rubikitch <rubikitch@...> 2001/11/28

From: Toru MITANI <toru_m@h2.dion.ne.jp>

[#32609] Editor macro by Ruby (Re: Ruby for PalmOS に対する熱い想い) — shukaku@... 2001/11/29

At Wed, 28 Nov 2001 20:52:49 +0900,

[#32473] File.expand_path(" 一覧表 .xsl") — Take_tk <ggb03124@...>

File.expand_path で「表」の文字が化けたのですが、最新版ではOKでしょう

13 messages 2001/11/21

[#32551] ソースの readme をもう少し詳しく — "Mitsuo Igarashi" <mitsu5@...>

ソース中のREADMEをもう少し説明を詳しくしていただければ、

15 messages 2001/11/26

[#32578] cygwin database Ruby Install MySQL PostgreSQL other... MS-Access(blase) — "Inoue" <inoue@...>

井上です。

21 messages 2001/11/28

[#32632] Re: Ruby for PalmOS に対する熱い想い — Nagai T <idonagai@...>

29 messages 2001/11/29
[#32665] blade on Palm — sinara@... 2001/11/30

原です。

[#32666] Re: blade on Palm — "U.Nakamura" <usa@...> 2001/11/30

こんにちは、なかむら(う)です。

[#32669] ruby-talk.length > ruby-list.length (Re: Re: blade on Palm) — maili31s@... (SugHimsi == SUGIHARA Hiroshi) 2001/11/30

すぎむし%Rubyちゃんポータルも見直ししないと…

[#32691] Re: ruby-talk.length > ruby-list.length (Re: Re: blade on Palm) — sinara@... 2001/12/01

原です。

[#33608] Re: ruby-talk.length > ruby-list.length — nobu.nakada@... 2002/01/29

なかだです。

[#33614] Re: ruby-talk.length > ruby-list.length — Minero Aoki <aamine@...> 2002/01/29

あおきです。

[ruby-list:32312] Re: fastcgi.rb and cgi.rb

From: Wakou Aoyama <wakou@...>
Date: 2001-11-13 22:56:19 UTC
List: ruby-list #32312
青山です。

On Wed, Nov 14, 2001 at 06:46:19AM +0900,
Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

> クラス定義のレベルでのevalの使用はあんまり問題ではないと思い
> ます。問題はinit_elementの中で実行時にevalして特異メソッドを
> 定義していることで、これのせいでCGIのサブクラスで定義したメ
> ソッドが上書きされちゃうんですよね。ですから、こちらのevalを
> なくせばよろしいのでは。

そうですね。ただ、クラス定義(require)時にではなく実行(new)時にevalして
いるというのが、require時間の短縮の為、なんですよね。

そして、そのようにしている理由が、HTML 生成関連のメソッドはとても多数
あり、クラス定義時に eval を行うと、mod_ruby でならともかく、通常の
CGI として使用するには、require に時間がかかりすぎる、という事からです。

従って、HTML 生成機能を不要とするユーザーが多数いる事が予想され、かつ、
cgi.rb に HTML 生成機能を含めてしまっている現状では、しかたなくという
感じでしょうか。

ちなみに、分離した場合の次期 HTML 生成ライブラリの簡単なサンプルを思い
付いたので、最後につけてみます。

html/html4tr.rb としてみているのは、やはり、eval と生成するメソッドの
多さから、HTML の各バージョンを1つのライブラリに入れてしまうと、
require 時に不要な時間が増してしまうと思われる事からです。

> そうです。上記とは矛盾するのですが、cgi/sessionはCGI自身の持
> つHTML出力機能を利用してセッション情報の書き出しを隠蔽してい
> ます(具体的には @output_hidden と @output_cookies)。分離する
> ならこれらについてなんらかの手当てが必要でしょう。
> 
> |それとも、Session クラスも require 'cgi' 一発で使えた方が便利かも、と
> |いう感じの事でしょうか?
> 
> こっちは考えてません。分離したままの方が望ましいと思ってます。

了解です。

HTML 生成関連を分離しても、cgi.rb 内で require するようにすれば、現在
の cgi.rb と同じように使えそうな気もしますので、そのあたりはなんとかな
りそうですね。

ただ、分離すると、当初の条件を満たす物では無くなりますので、内容的には、
cgi.rb の後継というより、別な物という感じになるかもしれませんが、その場
合、名前も変更した方が良いのでしょうか?



# html/html4tr.rb
class Html
  class Html4Tr
    def doctype
      %|<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">|
    end

    for element in %w[ TT I B U S STRIKE BIG SMALL EM STRONG DFN
        CODE SAMP KBD VAR CITE ABBR ACRONYM FONT SUB SUP SPAN BDO
        ADDRESS DIV CENTER MAP OBJECT APPLET H1 H2 H3 H4 H5 H6 PRE Q
        INS DEL DL OL UL DIR MENU LABEL SELECT OPTGROUP FIELDSET
        LEGEND BUTTON TABLE IFRAME NOFRAMES TITLE STYLE SCRIPT
        NOSCRIPT TEXTAREA FORM A BLOCKQUOTE CAPTION ] +
        %w[ IMG BASE BASEFONT BR AREA LINK PARAM HR INPUT COL
        ISINDEX META ] +
        %w[ HTML BODY P DT DD LI OPTION THEAD TFOOT TBODY COLGROUP
        TR TH TD HEAD ]
      eval <<-END
        def #{element.downcase}(*options)
          if options.empty?
            @buf.concat("<#{element.downcase}>")
          else
            @buf.concat("<#{element.downcase} \#{options.join(' ')}>")
          end
          if block_given?
            block = yield
            if block.kind_of?(String)
              @buf.concat(block)
            end
            @buf.concat("</#{element.downcase}>")
          end
          true
        end
      END
    end

    def initialize(&block)
      @buf = String.new()
      instance_eval(&block)
    end

    def to_s
      doctype + @buf
    end
  end
end

# sample
#require "html/html4tr"
html = Html::Html4Tr.new() do
  head do
    title{"html test"}
  end
  body("bgcolor=white") do
    h1{"this is H1"}
    p do
      <<-END
        long
        text
      END
    end
  end
end
puts html


-- 
青山 和光 Wakou Aoyama  <wakou@fsinet.or.jp>

In This Thread