五十嵐です。

Wakou Aoyama writes:
>なるほど。ちょっと感覚が逆のようですね。私は CGI.header が主で
>CGI.message が隠れ機能だと思っています。CGI.message のような機能は本来
>は個別で対応すべきだと思いますし、現在まで誰もドキュメントを用意してい
>ないのは、やはり隠れ機能的存在という意識がどこかにあったからだと思います。

CGI.pmを利用したソースを見たことはあるのですが、
自分でhtmlを書くときもよくタグを閉じるのを忘れてしまうので、
start_html で始めて end_html で終わるという約束を守らないと
うまくいかないモデルは、使いづらそうだと感じていました。

# malloc/free的?

そこで、コンポーネント的に組み合わせていって、最終的に CGI.message を
使えばいいかと思っていました。適当に書いてみると、こんな感じです。
一般的でないのは、使いづらいからなのでしょうか?

require "cgi-lib"
class CGI
   def CGI.tag1(tag, hash={})
      options = hash.collect{|k,v|k+"="+v}.join(" ")
      return "<#{tag} " + options + ">"
   end
   def CGI.tag2(tag, body, hash={})
      options = hash.collect{|k,v|k+"="+v}.join(" ")
      return "<#{tag} " + options + ">" + body + "</#{tag}>"
   end
end

input1 = CGI.tag1("INPUT", {"TYPE"=>"BUTTON", "VALUE"=>"BUTTON"})
input2 = CGI.tag1("INPUT", {"TYPE"=>"TEXT", "VALUE"=>"TEXT"})
form1 = CGI.tag2("FROM", input1 + input2)
msg1 = "message<BR>"

CGI.message(msg1 + form1, "TITLE")

-- 
五十嵐 晃(ikarashi / itlb.te.noda.sut.ac.jp)