第8回 基礎プログラミング II レポート課題 氏名:遠藤達也 学籍番号:c109027 語学クラス:中国語 コース(系):政策 1、筆記問題 A、 Hashにはkeyとvalueという対があるのに対して、 CGIではHTMLの入力されて引き出される値が設定しておいた変数に代入 される。 それがkeyとなって、valueとして引き出せるというところが似ている。 B、 「.htaccess」を作成すると、保存したディレクトリーに作成する 「*.rb」というファイルは、CGIスクリプトとして認識される。 その結果をHTML文書で書きこむプログラムが「*.rb」であり、 HTML文書を実行する担当はRubyである。 C、
メゾットPOSTは項目の数、長い文章を入力する際に使う。 **.rbは、HPでの入力データを引き渡すところである。 D、 require 'cgi' cgi = CGI.new("html4") print "Content-type: text/html; charset=EUC-JP\n\n" arv = cgi["arrive"] 「require 'cgi'」でCGIを使うことを指す。 「cgi = CGI.new("html4")」で、HTMLの入力フォームから引き渡された 値が、変数cに代入される。 cgiにハッシュの値として代入されるので、各々の入力値はHTMLが引き 渡すときに設定したarriveをkeyとして、valueという形でHTML文書として 取りだす。 2、プログラム問題 A、考えた設定。 ticket.rbを改良して酒田から選択した駅までの走行距離を表示するプ ログラム。 作成したプログラム #!/usr/bin/env ruby require 'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-JP\n\n") arv = cgi["arrive"] print("\n") print("\n") print("酒田からの走行距離は 3.3 [km]<\p>\n") elsif/砂越/=~arv print("
酒田からの走行距離は 6.5 [km]<\p>\n") elsif/北余目/=~arv print("
酒田からの走行距離は 9.5 [km]<\p>\n") elsif/余目/=~arv print("
酒田からの走行距離は 12.2 [km]<\p>\n") elsif/西袋/=~arv print("
酒田からの走行距離は 15.8 [km]<\p>\n") elsif/藤島/=~arv print("
酒田からの走行距離は 20.9 [km]<\p>\n") elsif/鶴岡/=~arv print("
酒田からの走行距離は 27.5 [km]<\p>\n") end print("\n") print("\n") 実行結果 pan{c109027}% ssh roy [~] Password: Last login: Tue Nov 16 14:08:44 2010 from pan.e.koeki-u.ac.jp NetBSD 5.1_RC1 (FireStorm) #1049: Tue Apr 27 09:41:34 JST 2010 roy{c109027}% cd public_html/rubycgi [~] roy{c109027}% ls [~/public_html/rubycgi] ticket.html ticket.rb* roy{c109027}% ./ticket.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) arrive"東酒田" Content-type: text/html; charset=EUC-JP