第 8 回 ことはじめ レポート課題 氏名:名和 大翔 学籍番号:C1101678 語学クラス:英語6 コース(系):政策マネジメント 1.筆記問題 A.CGI変数とHashの似ている点 CGIとはデータを入力すると、それに応じて変化する。 Hashにおいては、keyに応じてvalueが変化する。 この点が似ていると思う。 B.CGIのしくみについて .htaccessはWebサーバに対して「ここでCGIプログラムを利用する」ことの宣 言である。*.htmlは利用者にデータを入力してもらうためのHTML文書である。 *.rbは入力されたデータを受け取って処理をするプログラムファイルである。 つまり、CGIを使うことを宣言し、入力を求め、*.rbファイルが実行される。 C.*.html で CGI 変数を渡すのはどのしくみか 講義であつかったticket.htmlを例に考えてみる。
を入力フォームの部品で埋めている。 の部分でCGI変数を受け渡している。 の部分でリセットされる。 D.*.rb で CGI 変数を受け取ってHTML 文書にするしくみ require 'cgi' CGI 変数 = CGI.new("html4") print("Content-type: text/html; charset=EUC-JP\n\n") で受け取ったデータ を使う宣言を行い、Hash を用いて作った CGI スクリプトの名前の定義をする。 そして、print 文で HTML 文書を出力して、実行して吐きだす HTML 文書のド ラフトを行う。 2.プログラム問題 A.1.考えた設定 出発駅と到着駅を選択肢から選択することで入力に応じたチケットがあらわれ るようにした。 2.作成したプログラム ・ticket.rb #!/usr/bin/env ruby $KCODE = 'e' require 'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-JP\n\n") lev = cgi["leave"] # RubyにCGIでもらってきた値を代入 arv = cgi["arrive"] # RubyにCGIでもらってきた値を代入 #p lev #Ruby の変数に入ったか確認 #p arv #Ruby の変数に入ったか確認 print("\n") # rubyの中にHTMLを作成 print("\n") print("券面記載の指定日のみ有効
\n") print("\n") print("\n") ・ticket.html3.もとにしたプログラムからの変更点 授業で扱ったticket.rbとticket.htmlを改良した。 出発駅を指定してもらうために新しくleaveという変数を作った。 また、出発駅、到着駅とともに選択肢を増やした。 rubyの中にprintを使って、HTML文書を作った。 4.結果の考察 ticket.htmlで作った出発駅と到着駅をユーザーにデータを入力してもらうこ とにより、ticket.rbで作った結果がでるとわかった。 また、データの入力をする部分は であり、これでよいをクリックしたときに結果画面に移り、やりなおしをク リックしたときに初期画面に戻るとわかった。 ticket.rbを作る上でrubyの中にHTML文書が作れるのだと知った。 B.GIMP 掲載したアドレス http://roy/~c110167/advertise2/ C.PDFファイル 広告ページアドレス http://roy/~c110167/advertise2/r2_c110167.pdf 3.感想 今回は、CGIについて十分に理解しながら課題に取り組めた。GIMPも復習をしな がらだったが楽しく作ることができた。しかし、プログラム問題CのPDFファイ ルがリンクをはることはできたのだがなぜか開けなかった。 4.参考文献 基礎プログラミング II 第 8 回 「ことはじめ」 西村まどか先生 http://roy.e.koeki-u.ac.jp/~madoka/2011/r2/08/ プログラムの公開 神田直弥先生 http://roy.e.koeki-u.ac.jp/~naoya/ruby/10.html 5.共同学習者 鈴木智也 #作成したプログラムを添付します。