第 9 回 ことえらび レポート課題 氏名:森桂太 学籍番号:c110190 語学クラス:中国語 コース(系):社会福祉コース A. ラジオボタンのしくみを説明せよ。 ラジオボタンとは、選択肢とボタンを1まとめに表示させ 複数の選択肢から1つを選択する場合に使用し、 選択肢それぞれに input 要素 を用意する。簡単に述べると、 複数の選択肢の中から、選びたい選択肢のボタンを押すことで、 1つだけ選択できる仕組みである。 選択肢1 B.チェックボックスのしくみを説明せよ。 複数の選択肢でどれを選んだか印を付け表示させる。 また、複数の項目の中から複数選択が可能な仕組みである。 選択肢1 C.Tgif の復習として、自作による基礎プログラミングのキャラクタ画像 char_r2_ユーザ ID.png の解説と 作品の添付。また、 advertise2 に掲載する。 題名「ルビー番長」 解説 ・難しい課題と言う障害物を打ち破っていく理想の存在をキャラクターとした。 ・リンク "http://roy.e.koeki-u.ac.jp/~c110190/advertise2/rubycgi/tgif3.png" "http://roy.e.koeki-u.ac.jp/~c110190/advertise2/rubycgi/tgif4.obj" A.「カウンター」どのくらいの人数が来たのか求められる。 a.リンク http://roy/~c110190/advertise2/rubycgi/fork.html b.CGIの題名 「訪問カウント」 意図 どのくらい訪問した人がいるかを知りたいと思ったから。 c.dプログラム本体とプログラムの説明 ---count.rb--- #!/usr/bin/env ruby require 'cgi' #CGIを使えるようにする cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-JP\n\n") number = 0 open("count.txt","r") do |read| # "r" = ただ読み込む。"w" = 書き込む。 # "a"=上書き。 while data = read.gets #テキストの中身を読み終えるまで繰り返し。 if /(\d+)/ =~ data #\d+ = 数字だったら。 \S+ = 文字だったら。 #\s = スペース(空白だったら) number = $1.to_i #numberの変数に $1 = 9 のデータを代入。 # $1 = (\d+) end end end print("\n") print("
\n") print("庄内へようこそ
\n") %dで表示させる。 print("\n") print("\n") number += 1 open("count.txt","w") do |write| # "r" = ただ読み込む #"w" = もとからあったデータを消し新たに書き込む。 # "a"=上書き。 write.printf("%d\n",number) # "w"で新たに作ったデータを %d で表示。 end ---count.html---庄内へようこそ
pan{c110190}% ./count.rb [~/public_html/advertise2/rubycgi] (offline mode: enter name=value pairs on standard input) Content-type: text/html; charset=EUC-JP庄内へようこそ
B.ホームページで計算できるCGI「計算機」 a.リンク http://roy/~c110190/advertise2/rubycgi/fork.html b.CGIの題名 「計算プログラム」 意図 時給を求めるプログラムの方が作りやすく課題に適していると思ったから。 c.dプログラム本体とプログラムの説明 ---keisann.rb--- #!/usr/koeki/bin/ruby require 'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-JP\n\n") jikyuu = cgi["jikyuu"] jikann = cgi["jikann"] nisuu = cgi["nisuu"] total = jikyuu.to_i * jikann.to_i * nisuu.to_i * 4 # jikyuu * jikann * nisuu * 4 の合計は total で表す。 # jikyuu =時給金額 # jikann =時間 #nisuu =日数 #4 =4週間(1ヶ月)のこと。 print("\n") print("\n") print("