第8回 基礎プログラミング II レポート課題
氏名: 金田麻美
学籍番号: C1090466
語学クラス: 英語3
コース(系): 政策マネジメント
1-A
CGIは、利用者に情報を文字で入力させるほかに、
複数の候補の中から1つあるいはいくつかを選択させる役割を持っているが、
その条件(質問)と候補(選択肢)の関係が、
Hashの key と value の関係と似ているように思う。
特にCGI変数の中の option は、Hash と非常に似ていると思う。
具体的には、プログラム ticket.rb の中の
arv = cgi["arrive"] という定義と、ticket.html の中の
という定義の結びつきは、Hash の
Hash名 = Hash.new
"key" => ["value","value", "value", "value"],
}
という構成と似た仕組みだと言えると思う。
1-B.
.htaccessn の中で ディレクトリ内に作られた .rb で終わる名前のファイルは、
CGIスクリプトであると定義している。
*.html は、利用者に入力させるためのWEBページであり、
そこで入力されたデータを処理するのが .htaccessn で CGIスクリプトだと
定義された *.rb である。
入力結果を出力するように定義するのも *.rb で行う。
1-C.
必要な行は、
html文書中で、結果を出すプログラム(CGIスクリプトである)ファイルを
指定することで、html 文書とCGI変数の間で、受け渡しが可能になる。
1-D.
必要な行は、
require 'cgi'
cgi名 = CGI.new("html4")、
print("Content-type: text/html; charset=EUC-jp\n\n")
説明すると、require 'cgi' でCGIを利用するということを宣言し、
cgi名 = CGI.new("html4") でhtml文書にCGIを使用することを定義し、
print("Content-type: text/html; charset=EUC-jp\n\n") で、
日本語コードの使用を宣言している。
これにより、html文書としてCGIを出力することができる。
-------------------------------------------------------------------------
2-A.a
授業で作成した、到着駅のみを選択できるプログラム ticket.html と
ticket.rb を改良し、出発駅と到着駅を自由に選択できるようにした。
利用したデータは山形県内を通る羽越本線の駅名で、
改良前のデータに付け加えた形になっている。
なお、WEBページの色やCSS、料金の計算は余力が無く、できなかった。
プログラムのURL
http://roy/~c109046/rubycgi/ticket.html
トップページからのリンクのソース
基礎プログラミングII で作成した「羽越本線(山形県内)オンライン発券機」のページへ
advertise2/index.htmlからのリンクのソース
IIで作成した「羽越本線(山形県内)オンライン発券機」へ
2-A.b
〜プログラムファイル〜
#!/usr/koeki/bin/ruby
require 'cgi' # CGIを使用する宣言
cgi = CGI.new("html4") # html文書にCGIを使用する定義付け
print("Content-type: text/html; charset=EUC-jp\n\n") # 日本語コードを使用
lev = cgi["leave"] # levに name="leave" の option が入る
arv = cgi["arrive"] # arvに name="arrive" の option が入る
print("\n")
print("\n")
print("\tオンライン乗車券\n")
print("\n")
print("\n")
print("羽越本線(山形県内)
\n")
print("%s -- %s\n", lev, arv) # それぞれ選んだ出発駅と到着駅が
# 代入される。
print("\n")
print("\n")
*htmlファイル
オンライン券売機
2-A.c
htmlファイルで大きく変更した点は2つある。
1つは出発駅も選択させるために