第8回のレポート課題です。 ミスを見つけたので再送します。 氏名: 時田佳穂 学籍番号: C1101603 語学クラス: 中国語3 コース(系): 環境サイエンス 1- A.CGI変数もHashも、新しく作るときは 変数名 = CGI or Hash .new とするところ。 B..htaccessファイルで設定した内容は、そのファイルがあるディレクトリと それ以下のディレクトリに効果があり、そこに入っているファイルすべてに 影響をおよぼすため、*.htmlや *.rbすべてに.htaccessの内容が反映される。 *.htmlと*.rbは、htmlファイルの方でrbファイルを呼び出すときrbファイル の内容が反映される。 C.
form要素の主要な属性が method と actionで、 methodはデータの送信方法を指定する属性、 actionはデータを受け取るプログラムを指定する属性である。 methodでのデータの送信方法には post と get の2種類があるが、 一般的なフォームではpostを用いる。 actionの値には、データを受け取るプログラムを指定する。 内では、入力コントロールや説明文を記述する。 この範囲内で、受け手によって入力されるデータがactionで 指定したプログラムに送信される。 D.require 'cgi' 変数 = CGI.new b = cgi['a変数'] requireはプログラムに必要な外部モジュールを現在のプログラムに取り込む 記法で、ここでは、cgi.rbの機能をロードしている。 CGI.newでは、CGIクラスにフォームのデータを作るように命令している。 このデータには「フォームの部品のname属性」と「その部品のデータ(value)」 の組が含まれている。 values = cgi['field_name']では、フォームに記入されたa変数を 取り出し、変数bに代入している。 2- A. ●オンライン発券システムURL http;//roy/~c110160/rubycgi/ticket.html ●読み込まれるrubyファイル ◯ticket.rbの内容、説明 #!/usr/bin/env ruby $KCODE = 'e' require 'cgi' #CGIの機能をロードする cgi = CGI.new('html4') #html4(Strict)でHTMLを生成する print"Content-type: text/html; charset=EUC-jp\n\n" #HTMLとして出力したいので、Content-typeは必ずtext/htmlにする #文字コードは日本語(EUC-jp) lai = cgi["depart"] # CGIでもらってきた出発地を代入 qu = cgi["arrive"] # CGIでもらってきた到着地を代入 #p lai #p qu na = 0 nb = 0 #上り、下り、金額を判断するために出発地、到着地それぞれに番号をつける if lai == "赤湯" na = 1 elsif lai == "南陽市役所" na = 2 elsif lai == "宮内" na = 3 elsif lai == "おりはた" na = 4 elsif lai == "梨郷" na = 5 elsif lai == "西大塚" na = 6 elsif lai == "今泉" na = 7 elsif lai == "時庭" na = 8 elsif lai == "南長井" na = 9 elsif lai == "長井" na = 10 elsif lai == "あやめ公園" na = 11 elsif lai == "羽前成田" na = 12 elsif lai == "白兎" na = 13 elsif lai == "蚕桑" na = 14 elsif lai == "鮎貝" na = 15 elsif lai == "四季の郷" na = 16 elsif lai == "荒砥" na = 17 end #p na if qu == "赤湯" nb = 1 elsif qu == "南陽市役所" nb = 2 elsif qu == "宮内" nb = 3 elsif qu == "おりはた" nb = 4 elsif qu == "梨郷" nb = 5 elsif qu == "西大塚" nb = 6 elsif qu == "今泉" nb = 7 elsif qu == "時庭" nb = 8 elsif qu == "南長井" nb = 9 elsif qu == "長井" nb = 10 elsif qu == "あやめ公園" nb = 11 elsif qu == "羽前成田" nb = 12 elsif qu == "白兎" nb = 13 elsif qu == "蚕桑" nb = 14 elsif qu == "鮎貝" nb = 15 elsif qu == "四季の郷" nb = 16 elsif qu == "荒砥" nb = 17 end #p nb n = na - nb #出発地と到着地の番号の差(=通過(到着)する駅の数) #p n if n > 0 #赤湯方面へ向かうとわかるので、下り nk = "下り" money = 180 + (n * 50) #初乗り180円、1駅ごとに50円プラス elsif n < 0 #荒砥方面へ向かうとわかるので、上り nk = "上り" money = 180 + (n.abs * 50) #このときnは負数なので、.absで絶対値をとる end #p nk #p money print"\n" #ここからhtml形式で結果を出力する print"\n" print"ふらわーながい線 %s列車 |
%s -- %s 間 |
%d 円 |
当日限り有効 途中下車無効 |