require "cgi"
require "delegate"

def cgi(lv = "html3")
 obj = SimpleDelegator.new(CGI.new(lv))
 class <<obj
  alias __out out
  def out(*a) __out(*a){
   CGI.pretty(
   html{
    head{
     cgi.title{'myform'} + cgi.script('language' =>'JavaScript'){
      'document.write();'  # ココにJavascriptを埋め込むためにyield を使いたい。
      } } +
    body{ form('GET'){yield}
    } } ) }
  end
 end
 obj
end
上の定義で、cgi.script のブロック 内 でもyield で定義したいのですが、
form(){yield} で既に使われているために、他の解決法が思いつきません。
これでは全く教えて君ですが……