第 9 回 ことえらび レポート課題 氏名:樋口貴士 学籍番号:C1101715 語学クラス:中国語3 コース(系):地域共創コース 1.筆記問題 A. ラジオボタンは選択肢の中から1つだけを選択できる。 例として、ライブのチケットの席を選ぶときに使える。 S席 A席 B席 type="radio" # ラジオボタンの設置。 name="ラジオボタンの名前" # 使うラジオボタンを区別するためにある。 value="CGI 変数の値" # ユーザが選択するとこの値がプログラムに送られる。 結果 html では以下のようになる。 ◯S席 ◎A席 ◯B席 A席が初めから◎になっているのは checked によって自動的に既定値に設定して いるから。 B. チェックボックスは選択肢の中から複数、選択できる。 例として、飲食店などのメニューを選ぶときに使える。 チーズインハンバーグ つやひめ ワカメスープ ドリンクバー type="checkbox" # チェックボックスの設置。 name="チェックボックスの名前" # 使うチェックボックスを区別するためにある。 value="CGI 変数の値" # ユーザが選択するとこの値がプログラムに送られる。 結果 html では以下のようになる。 □チーズインハンバーグ ■つやひめ □ワカメスープ □ドリンクバー つやひめが ■ になっているのは checked で既定値を設定しているため。 チェックボックスは複数選択できるので ■チーズインハンバーグ ■つやひめ □ワカメスープ ■ドリンクバー のようにできる。 ここがラジオボックスとの大きな違いである。 C.作成した Tgif のページ http://roy/~c110171/advertise2/ 画像の題名及び解説は 2番のプログラム問題 F.に記載した。 2.プログラム問題 A.B.D.の問題を作成した。 ◯プログラムを設置したページは http://roy/~c110171/advertise2/rubycgi/fork.html A. counter.rb 「カウンタ」のURL http://roy/~c110171/advertise2/rubycgi/counter.rb B. ◯CGI の題名 「サイトにカウント」 ◯作成意図 サイトに来てくれた人の数を知りたいと思い作成した。 C.入力部分と送信結果の表示する部分 #!/usr/bin/env ruby require 'cgi' # CGI を使う。 cgi = CGI.new("html4") # CGI を HTML文章に使う。 print("Content-type: text/html; charset=EUC-JP\n\n") #日本語コードの定義。 arv = cgi["arrive"] # Ruby に CGI でもらってきた値を代入。 # CGI での arrive は arv 。 t = Time.now # 現在の時間の意味。 p yy =t.year # 年 p mm = t.month # 月 p dd = t.day # 日付 p hr = t.hour # 時間 p mn= t.min # 分 count = 0 # 初期値は 0 とする。 open("counter.txt","r") do |read| # ファイルを開く 読み込み専用なので r。 while data = read.gets if /(\d+)/ =~ data # データが数字の場合 count = $1.to_i # 数字を正数として取り入れる。 end # if の終わり。 end # while の終わり。 end # open の終わり。 print("\n") print("\n") print("\n") print("RPGてきな\n") print("\n") print("\n") print("

☆いままでこのサイトに来てくれた人ををカウントするよ☆

\n") printf("

あなたはNo. %d の勇者様です

\n", count) print("

魔王を倒し世界を救って下さい

\n") print("\n") print("\n") count += 1 # 数値を 1 ずつ足していく。 open("counter.txt","w") do |write| # ファイルを読み込み 書込みむので w。 write.printf("%d\n",count) # count に書き込む。 end D.各部の解説 require 'cgi' で CGI を使い cgi = CGI.new("html4") で CGI を HTML文章に使う。 print("Content-type: text/html; charset=EUC-jp\n\n") は日本語コードの定 義であり、 t = Time.now で日付、時間を表示させて open("counter.txt" , "r") do |read| で counter.txt を読み込み open("counter.txt","w") do |write| で counter.txt に書き込みする。 count += 1 で数値を 1 ずつ増やして書き込みさせる。 E.実行結果 pan{c110171}% ./counter.rb [~/public_html/advertise2/rubycgi] (offline mode: enter name=value pairs on standard input) Content-type: text/html; charset=EUC-JP 2011 11 30 20 49 RPGてきな

☆いままでこのサイトに来てくれた人ををカウントするよ☆

あなたはNo. 58 の勇者様です

魔王を倒し世界を救って下さい

2011 11 30 20 50 RPGてきな

☆いままでこのサイトに来てくれた人ををカウントするよ☆

あなたはNo. 59 の勇者様です

魔王を倒し世界を救って下さい

◯考察 カウンタのサイトをクリックすると時間表示は2011年11月30日 20時間49分となり No. 58となる。 もう一度同じことをすると時間表示は2011年11月30日 20時間50分、 No. 59 となる。 時間表示も正確に作動しクリックをするごとに No.が 1 ずつ増えているので このプログラムは正確に作動しているといえる。 B a.[計算のURL」 http://roy/~c110171/advertise2/rubycgi/keisan.html b. ◯CGI の題名 「計算くん」 ◯作成意図 Web上に電卓のように計算できるプログラムをつくれないかと 思い作成した。 c.入力部分と送信結果の表示する部分 ◯keisan.html 計算くん

計算くん

数値 1 と 数値 2 に 数字を入力して計算してね。

12桁

まで入力できるよ★