第10回 基礎プログラミング II レポート
氏名:荘司まゆ
学籍番号:c1051093
語学クラス:英語3
コース(系):社会
1.
A.pstoreとは、Rubyのオブジェクトを簡単に外部ファイルに保存することが出来
るもの。使い方はHashのように値を保存して、値を取りだす。
専用directryを作り、第3者の書込みを可能にする。
% cd ~/public_html/rubycgi
% mkdir pstore
% chmod o+w pstore
この中に入力されたデータ出力・データベースにデータをしまうプログラムが作
られる。
また、
PStore 変数.transaction do #CGI変数に代入された値を表示させる
となる。
2.プログラム問題
http://roy/~c105109/advertise2/rubycgi/r2_cgi_best.html
プログラムホームページアドレス
http://roy/~c105109/advertise/index.html
マイホームページ
3.CGI問題
a.プログラム設定
今回は、山形県に訪れた人にアンケートをとるプログラムを作りたいと思う。
b.プログラムhtml (r2_cgi_best.html)
アンケート
注意事項
このプログラムは、東北公益文科大学2010年度荘司まゆが著作権を保有して
います
このプログラムの改変・再配布はいずれも無料で行なうことができます
ただし、それらの際に生じたいかなる結果について著者は一切責任を負いま
せん
その他、何かございましたら下記の連絡先へお願いします
c105109@h.koeki-u.ac.jp
back to my HomePage
c.プログラム本体 (r2_cgi_best.rb)
#!/usr/koeki/bin/ruby
$KOCDE='e'
require'cgi'
cgi=CGI.new("html4")
print("Content-type:text/html;charset=EUC-JP\n\n")
namae = cgi["simei"]
tuki = cgi["month"]
hiniti = cgi["day"]
syussin = cgi["place"]
why = Array.new #新しい配列を作る
why[0] = cgi["tradition"]
why[1] = cgi["terevition"]
why[2] = cgi["travel"]
why[3] = cgi["other"]
kimoti = cgi["think"]
hitokoto = cgi["how"]
number = 0
open("log.txt","r") do |yomu|
while data = yomu.gets
if /(\d+)/ =~data
number = $1.to_i
end
end
end
print("\n")
print("\n")
print("山形アンケート\n")
print("\n")
print("\n")
printf("%d番目の解答者
",number)
print("
\n")
print("\t\n")
printf("\tお名前 | %s | ",namae)
print("\t
\n")
print("\t\n")
printf("\t日付 | %s %s | ",tuki,hiniti)
print("\t
\n")
print("\t\n")
printf("\t出身地 | %s | ",syussin)
print("
理由 | ")
for riyuu in why
printf("%s\n",riyuu)
end
print(" | \n")
print("\t
\n")
print("\t\n")
printf("\t楽しかったですか? | %s | ",kimoti)
print("\t
\n")
print("\t\n")
printf("\t一言 | %s | ",hitokoto)
print("\t
\n")
print("\t
\n")
print("\n")
print("\n")
number+=1
open("log.txt","w") do |kakiko|
kakiko.printf("%d",number)
end
d.プログラム実行結果
pan{c105109}% ./r2_cgi_best.rb [~/public_html/advertise2/rubycgi]
(offline mode: enter name=value pairs on standard input)
simei="あいう"
month="12月"
day="8日"
place="北海道・東北地方"
tradition="伝統工芸"
think="楽しかった"
Content-type:text/html;charset=EUC-JP
山形アンケート
4番目の解答者
お名前 | あいう |
日付 | 12月 8日 |
出身地 | 北海道・東北地方 |
理由 | 伝統工芸
|
楽しかったですか? | 楽しかった |
一言 | |
pan{c105109}% [~/public_html/advertise2/rubycgi]
ホームページでも同じように表示されました。カウンターも増えていきました。
テーブル(レイアウト)にも問題はありませんでした。
4.考察・感想
・考察
今回のプログラムを作成するにあたり、2009年度の小浦麻生さんのプログラムを
参考にした。
変更した点は、アンケートとして使えるプログラムにすることだった。
CGI変数、Openを使用した。
また、ラジオボタン
ドロップダウンメニューは
である。
最後にカウンタープログラムを入れた。
・気になったプログラムについて
気になったプログラムは、何人か2乗など数学を使用した計算プログラムだった。
理由は、私自身数学が苦手で、プログラムではどのようにして作ればいいのか、
興味を持ったからです。
・感想
最初は、誕生石と誕生花を組み合わせたプログラムを作ろうかと考えた。しかし、
参考にしなければならないものが膨大であることに気づき、急拠アンケートに変更し
た。以前よりも理解することができたし、その分間違えること(エラー)も少な
くなったと思う。
記録に残るようなプログラムも作ってみたい。
5.参考文献
http://roy/~madoka/2010/r2/10/10_01_theme_01_pstore.html
基礎プログラミングII 第10回 CGIことおぼえ
CGIで使うことの出来るデータベース(講義ノート) 西村まどか
http://roy/~madoka/2010/r2/10/10_04_theme_03_comment.html
基礎プログラミング II 第10回 CGIことおぼえ
コメント受け付けプログラム(講義ノート) 西村まどか
http://roy/~madoka/2009/r2/10/rpt/c108063.txt
2009年度 基礎プログラミング II 第10回 CGIことおぼえ 西村まどか
よかったレポート その9
協力してくれた人:TA 小浦麻生さん