< :前の番号
^ :番号順リスト
> :次の番号
P :前の記事
N :次の記事
|<:スレッドの先頭
>|:次のスレッド
^ :返事先
_:自分への返事
>:同じ返事先を持つ記事(前)
<:同じ返事先を持つ記事(後)
---:分割してスレッド表示、再表示
| :分割して(縦)スレッド表示、再表示
~ :スレッドのフレーム消去
.:インデックス
..:インデックスのインデックス
原です。
> まつもと ゆきひろです.
> |> # 書きかけの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.)