[#4754] Now,I am starting ruby. — mamoru@... (Mamoru Matushita)

先日、初めて投稿したつもりだったのですが間違えて

14 messages 1997/10/02

[#4891] mixin - singleton method inheritance, const etc... — shugo@... (Shugo Maeda)

前田です。

13 messages 1997/10/10

[#5000] ruby 1.0-971015 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

14 messages 1997/10/15

[#5056] RubyでOODB — hisanori@...

松尾です。

20 messages 1997/10/20
[#5057] Re: RubyでOODB — matz@... (Yukihiro Matsumoto) 1997/10/20

まつもと ゆきひろです

[#5065] Re: RubyでOODB — hisanori@... 1997/10/20

松尾です。

[#5066] Re: RubyでOODB — matz@... (Yukihiro Matsumoto) 1997/10/20

まつもと ゆきひろです

[ruby-list:4938] Re^2: cgi-lib.rb

From:
Date: 1997-10-13 23:58:23 UTC
List: ruby-list #4938
原さん、はじめまして。

>>[ruby-list:4915] Re: cgi-lib.rb
>>From: Shin-ichiro HARA <sinara@blade.nagaokaut.ac.jp>
>>
>>そういえば cgi-lib.pl を cgi-lib.rb に移したのは私でした。

おお、そうだったんですか。最近ちょっといじらせて頂いています。

>>前から気になっていた cgi-lib のインターフェースなんですが、
>>
>>input = CGI.new
>>
>>としてから input を操作するのは、かっこ悪い気がしています。
>>CGI のインスタンスを複数作ることはないですから。
>>
>>どうするのがいいのかなあ。全てクラスメソッドにするのがいい
>>のでしょうかね。

クエリーの値を扱う物とは別に、タグを出力する方に関しては、いっそのこと
モジュールにしてしまっても良いのかもしれないですね。

include Html

header
html do
  head do
    title do print "ruby test" end
  end
  body do
    h1 do print "ok" end
    p do
      ENV.each do |k,v|
        b do print k end
        print " = ", v
        br
      end
    end
    hr
  end
end

結構すっきり。

module Html

  def header
    print "Content-Type: text/html\n\n"
  end

  ['html', 'head', 'title', 'body', 'h1', 'p', 'b'].each do |tag|
    eval "
      def #{tag}
        print \"<#{tag.upcase}>\"
        yield
        print \"</#{tag.upcase}>\"
      end
      public :#{tag}
    "
  end

  ['hr', 'br'].each do |tag|
    eval "
      def #{tag}
        print \"<#{tag.upcase}>\"
      end
      public :#{tag}
    "
  end

end


青山 和光 Wakou Aoyama <pxn11625@niftyserve.or.jp>

In This Thread

Prev Next