原です。 > まつもと ゆきひろです. > |> # 書きかけのGlossaryを公開します. > |> # http://www.caelum.co.jp/~matz/ruby/man-jp/glossary.html > | > |ああ、面白いですね。いっそ CGI にして自由書き込み式にしたら? > > そのためにはCGI.rbを用意せねば….原さんのところでやってくれ > ても良いですよ. CGI、CGI と騒いだ責任をとって(?)作ってみました。 http://blade.nagaokaut.ac.jp/man/ruby/ruby-man-jp/glossary.shtml です。無責任な書き込みもあると思うので(自分の事だ^^;)、使え るものがあればまつもとだんが本編に適当に掬いあげるという形で どうでしょう。 > |#ノート復活しました。 > > いいなあ. 自宅のマシンも復活しました。4枚の SIMM の内、1枚が腐りかかってい ました。見つけるの辛かった。 簡単な CGI 用のライブラリも作ってみました。 ----------------------^ cgi-lib.rb #!/usr/local/bin/ruby # # Get CGI String # # EXAMPLE: # require "cgi-lib.rb" # foo = CGI.new # foo['field'] <== value of 'field' # foo.keys <== array of fields # foo.inputs <== hash of { <field> => <value> } class CGI attr("inputs") def initialize str = if ENV['REQUEST_METHOD'] == "GET" ENV['QUERY_STRING'] elsif ENV['REQUEST_METHOD'] == "POST" $stdin.read ENV['CONTENT_LENGTH'].to_i else "" end arr = str.split(/&/) @inputs = {} arr.each do |x| x.gsub!(/\+/, ' ') key, val = x.split(/=/, 2) val = "" unless val key.gsub!(/%(..)/) { [$1.hex].pack("c") } val.gsub!(/%(..)/) { [$1.hex].pack("c") } @inputs[key] += "\0" if @inputs[key] @inputs[key] += val end end def keys @inputs.keys end def [](key) @inputs[key] end def CGI.message(msg, title = "") print "Content-type: text/html\n\n" print "<html><head><title>" print title print "</title></head><body>\n" print msg print "</body></html>\n" TRUE end end ----------------------$ cgi-lib.rb ---===-=-=-=-=-=-=-=-=======--=-=-=-==-=-===-=-=-=-=-=-=--=-==-=-- Shin-ichro Hara(Nagaoka Univ.of Tech.)