-------------------------------------------------------------------------------
◯送信結果のページ◯
-------------------------------------------------------------------------------
#!/usr/bin/env ruby
require 'cgi'
cgi = CGI.new("html4")
print("Content-type: text/html; charset=EUC-JP\n\n")
def barplot(p,q)
print(" 10 20 30 40 50\n")
print("+---------|---------|---------|---------|---------|------y軸\n")
# y軸を表示
for o in p .. q
print("|" + "*" * total(o) + "\n")
end
print("|\nx軸\n")
# x軸を表示
end
def total(o,k)
o * k
end
type = cgi["type"]
kosu = cgi["kosu"].to_i # 文字列として取り込んだものを数値にする
print("\n")
print("\n")
print("◯お会計◯\n")
print("\n")
print("\n")
print("
◯会計◯
\n")
print(" \n")
printf("
おにぎりの種類 : %s
\n", type)
printf("
おにぎりの数 : %d
\n", kosu)
if type == "筋子おにぎり"
STDERR.print("筋子おにぎりの値段:130")
oni = gets.to_i
elsif type == "焼おにぎり"
STDERR.print("焼おにぎりの値段:140")
oni = gets.to_i
elsif type == "昆布おにぎり"
STDERR.print("昆布おにぎりの値段:100")
oni = gets.to_i
end
if kosu == "1"
STDERR.print("
数:1
")
ko = gets.to_i
elsif kosu == "2"
STDERR.print("
数:2
")
ko = gets.to_i
elsif kosu == "3"
STDERR.print("
数:3
")
ko = gets.to_i
elsif kosu == "4"
STDERR.print("
数:4
")
ko = gets.to_i
elsif kosu == "5"
STDERR.print("
数:5
")
ko = gets.to_i
end
printf("
「%d」になります。
\n", total(oni,ko))
print("\n")
print("\n")
-------------------------------------------------------------------------------
d.実行結果
昆布おにぎりを3個買った時の実行結果
-------------------------------------------------------------------------------
pan{c109014}% ./onigiri.rb [~/public_html/advertise2/rubycgi]
(offline mode: enter name=value pairs on standard input)
type="昆布おにぎり"
kosu="3"
Content-type: text/html; charset=EUC-JP
◯お会計◯
◯会計◯
おにぎりの種類 : 昆布おにぎり
おにぎりの数 : 3
昆布おにぎりの値段:100
./onigiri.rb:21:in `*': nil can't be coerced into Fixnum (TypeError)
from ./onigiri.rb:21:in `total'
from ./onigiri.rb:66
-------------------------------------------------------------------------------
e.考察
printf("