###前提・実現したいこと
Rubyもといプログラミングを勉強しはじめたものです。
初めて利用させていただきます。よろしくお願いいたします。
http://IP/cgi-bin/calc.rb?1+1
のように引数に計算式を渡して、計算結果の2を表示する単純なRuby-CGIを作成しました。
引数に数字と四則演算子(+-*/)以外が含まれていた場合にエラーメッセージを表示させたいです。
QUERY_STRINGで引数を取得しており、それをマッチングさせればよいのかなと考えたのですがうまくいきません。
ご教示いただければと思います。よろしくお願いいたします。
・環境
AWS EC2
ruby 2.0.0p648
Apache/2.2.34
###該当のソースコード
このコードで計算結果は表示できるようになりました。
ruby
1#!/usr/bin/ruby 2print "Content-type: text/html\n\n" 3 4puts eval ENV['QUERY_STRING']
###試したこと
正規表現の使い方もおぼつかないのですが…。以下のような記述を考えましたが500Internal Server Errorになってしまいます。パーミッションは755です。
ruby
1#!/usr/bin/ruby 2print "Content-type: text/html\n\n" 3 4if /[+-*/]\d/ =~ ENV['QUERY_STRING'] 5 puts eval ENV['QUERY_STRING'] 6else 7 puts "ERROR" 8end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/26 11:25