\n", number)
#人数を表示する
print("\n")
print("\n")
number += 1 # numberに 1 足す
open("counter.txt","w") do |write| # counter.txtに書きこむ。
write.printf("%d\n",number) # 書きこむ内容は number に代入。
end # open do 終わり
-----入力部分------(counter.html)
カウンタ
ここに訪れた人の人数が知ることが出来ます。
iv.実行結果
Ktermで実行すると、
pan{c111022}% ./counter.rb [~/public_html/rubycgi]
(offline mode: enter name=value pairs on standard input)
Content-type: text/html; charset=EUC-JP
カウンタ
ようこそ!!
あなたは 5 人目 のお客様になります。
v.考察
vの実行結果から、実行の回数を増やすと人数も増えることが分かった。
なので、カウンタのプログラムは正しく起動しているといえる。
カウンタが動く理は、counter.rb でテキストファイルを指定し
counter.rbの実行する時に 1 を加えて書き換えられているからだと考える。
Kterm上で chmod o+w number.txt と入力し -rw-r--rw-と変更することで、
カウンタが動くことが可能となる。
B.
i)リンクのアドレス
http://roy/~c111022/rubycgi/suuji.html
ii)CGIの題名とその意図
題名:計算プログラム
意図:四則計算が出来るプログラムを作成した。
iii)各部分の解説と送信結果の表示する部分
(suuji.rb)
#!/usr/bin/env ruby
$KCODE = 'e' # 日本語の使用宣言する
require 'cgi' # CGIを使用をする
cgi = CGI.new(:accept_charset => "EUC-JP") # CGI の Hash をつくる
# htmlで入力されたものが CGI に代入
# html 文書で使用する
print("Content-type: text/html; charset=EUC-JP\n\n") # 日本語コードに
sh1 = cgi["atai0"] # sh1 に CGI の 値 atai0 を代入
sh2 = cgi["atai1"] # sh2 に CGI の 値 atai1 を代入
s = cgi["shisoku"] # s に CGI の 値 shisoku を代入
print("\n") #以下 html で表示される部分
print("\n")
print("計算結果は\n")
print("\n")
# keisan という css を使う
print("\n")
print("\n")
if s == "plas" # s が "plas" ならば
a = sh1.to_i + sh2.to_i # sh1 + sh2 に
elsif s == "mainasu" # s が "mainasu" ならば
a = sh1.to_i - sh2.to_i # sh1 - sh2 に
elsif s == "kake" # s が "kake" ならば
a = sh1.to_i * sh2.to_i # sh1 * sh2 に
else # s が 上記以外 ならば
a = sh1.to_f / sh2.to_f # sh1 / sh2 に
end
print("
計算結果は
\n") # 以下、計算結果の表示
if s == "plas" # s が "plas" ならば
printf("
%d + %d = %d
\n",sh1 ,sh2 ,a) #上で計算した結果を表示
elsif s == "mainasu" # s が "mainasu" ならば
printf("
%d - %d = %d
\n",sh1 ,sh2 ,a) #上で計算した結果を表示
elsif s == "kake" # s が "kake" ならば
printf("