第 8 回 ことはじめ レポート課題 氏名:小林愛実 学籍番号:c1100816 語学クラス:英語6 コース(系):政策マネジメント 1、筆記問題 A、CGIは、HTML文書内にあらかじめデータを入力し、入力後にボタンを押すとデー タが表示される。 Hashのkeyとvalueの関係がこれと同じような機能を持っていると考える。 B、.htaccessという名前のファイルを作成することで、このディレクトリ内でCGIを 利用するという宣言を行なう。 これにより、*.rb は CGI になり、利用者により入力された値を処理する。 *.htmlは、利用者が入力してもらうページを作る。 .htaccess *.rb *.htmlの3つがそろわないと機能しない。 C、ticket.htmlより
D、ticket.rbより require `cgi` # CGIを使用するよう要求 cgi = CGI.new(`html4`) # HTMLの入力フォームから引き渡された値が、ハッシュ変数cgiに代入される。 print("Content-type: text/html; charset=EUC-JP\n\n") # 日本語コードの定義 arv = cgi["arrive"] # ここでRubyに CGI でもらってきた値を代入 printf("酒田--%s間
\n",arv) # html文書として出力する 2、プログラム問題 A、オンライン発券システム a、考えた設定 出発駅と到着駅をそれぞれ選択すると出発駅と到着駅と、その間の距離が表示さ れる。 b、変更点 授業中に作成した ticket.rb を参考に作成した。 変更点は、到着駅だけでなく出発駅を選択できるようにした。 また、出発駅と到出発駅の間の距離も表示できるようにした。 c、作成したプログラム * プログラム (onrain.rb) #!/usr/bin/env ruby require 'cgi' # CGI を使う cgi = CGI.new("html4") # CGI を HTML 文書に使う print("Content-type: text/html; charset=EUC-JP\n\n") # 日本語コードの定義 sat = cgi["start"] arv = cgi["arrive"] eki = Hash.new eki["新庄駅"] = 0.0 eki["升形駅"] = 7.5 eki["羽前前波駅"] = 10.6 eki["津谷駅"] = 12.6 eki["古口駅"] = 17.0 eki["高屋駅"] = 24.8 eki["清川駅"] = 31.1 eki["狩川駅"] = 34.9 eki["南野駅"] = 38.9 eki["余目駅"] = 43.0 # ここからhtml文表示 print("\n") print("\n") print("出発駅:%s --- 到着駅:%s
\n", sat,arv) # 選択した出発駅と到着駅を表示させる if eki[arv] > eki[sat] printf("走行距離:%3.1f km
\n",(eki[arv]-eki[sat]).to_f) # 到着駅の距離から出発駅の距離を引く else printf("走行距離:%3.1f km
\n",(eki[sat]-eki[arv]).to_f) # マイナスにならないようにするために、出発駅から到着駅を引く end print("発売当日限り有効 下車前途無効") print("\n") print("\n") * HTML方式