第 8 回 ことはじめ レポート課題 氏名:須藤 充司 学籍番号:c1101342 語学クラス:英語2 コース(系):環境サイエンスコース 1.筆記問題 A. CGI変数とHashが似ている点は、複数の選択肢があるうちからピックアップし たいものを取りだせるということだと思う。 CGIは選んだ項目が何かの項目と結びつく。項目は hash でいえば key のよ うなものであり、選択肢は value のようなものである。 B. htaccessで、そのディレクトリ内でのみCGIを使用することを宣言する。 *.htmlで、ウェブページ閲覧者がインターネット上で入力しやすいページを作り *.rbで、解答者により入力された値を処理し、その結果を反映させる。 C. ticket.html で使ったのは、 この部分でドロップダウンメニューを作り、選ばれた option が で現れたボタンを押すことで値が送られる。 D.ticket.rb で使ったのは、 require 'cgi' この部分で CGI を使う宣言をして cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-jp\n\n") の部分で受け取ったデータを使う宣言をする。 この後に print 文で表示したい文を表示する。 2.プログラム問題 作成したプログラム #!/usr/koeki/bin/ruby require 'cgi' # CGIの形式に変換する cgi=CGI.new("html4") # CGIをHTML文書で使用する nakami = Hash.new def cost(sai,owa) # sai = 出発駅、owa = 到着駅 if sai > owa (sai-owa)/2*20 + 120 elsif owa > sai (owa-sai)/2*20 + 120 end end print("Content-type: text/html; charset=EUC-JP\n\n") # 日本語コード lev = cgi["leave"] arv = cgi["arrive"] open("ticket.dat","r") do |card| # データ ticket.datを読みこむ while line = card.gets if /(\S+)\s+(\S+)/ =~line nakami[$1] =$2.to_f #データをきりだす end end end saisho = nakami[lev] owari = nakami[arv] print("\n") # HTML文書 print("
\n") print("-------------------------------------------
\n") printf("乗車区間 : %s -- %s 間
\n",lev,arv) printf("運賃 : %d [円]
\n",cost(saisho,owari)) print("-------------------------------------------
\n") print("\n") print("\n") ホームページこのプログラムは東北公益文科大学2010年度生 須藤充司 が著作権を所有しています。
プログラムを入手・改変・再配布は自由に行っても構いませんが
このプログラムを取り扱って生じた問題は一切責任を負いませんのでご了承ください.
このプログラムに対する要件がありましたら下記まで連絡してください。
c110134@e.koeki-u.ac.jp