トップページ > 2. マニュアル > 2.1. チュートリアル > チュートリアル(2) calc :簡単な計算機を作る/その4

チュートリアル(2) calc :簡単な計算機を作る/その4

ブラウザで計算機タスクを確認する

 それでは実際に計算機プログラムを動かしてみましょう。

 とブラウザのアドレス欄に入力してみてください。

 と表示されるはずです。
(表示されなかった場合は、トラブルシューティングを参照してください。)

改造してみる

たとえばあなたは次のような計算をしたいと思ったとします。

ところが、最初のCalcプログラムでは足し算にしか対応していないため、上記のような計算をすることはできません。これではCalcの名前を付けるのは遠慮されますね。そこで、Calcプログラムに四則演算の機能を追加します。

という風に、パラメータ”op”を追加することで2つの値の演算子(オペレーター)を指定することにします。

プログラムを変更するために、”CalcTask.class.php”ファイルをテキストエディタで開いてください。

“processEvent”メソッドの中身だけを上記のように編集して保存してください。

保存したら、下記のURLをブラウザで入力して動作確認してみてください。

“6”と表示されましたか?

今回追加した部分を説明します。

 まずURLクエリー文字列からパラメータ(引数)を取得します。引数a,bをURLクエリー文字列から取得した方法とほぼ同じでreauestオブジェクトから取得できますが、今回はop=の後の”*”などの演算子を文字列として取得したいので、getIntegerメソッドではなくgetStringメソッドで取得します。getIntegerメソッドでパラメータを取得した場合、結果はstring型で返却されます。

 また、パラメータを取得する際、引数a,bと同じくデフォルト引数を与えてパラメータ省略時の演算子を指定(この場合は+)しています。ですので前回と同じURL、

を指定した場合でもエラーにはならず、同じ結果”5″を出力します。これは、opパラメータが省略された場合は演算子として和(+)が指定されたと解釈しているからです。

 次に、2つの値と演算子が取得できたので実際の計算する部分です。前回は足し算をするだけでしたが、switch文を用いて演算子ごとに処理を分けて四則演算をしています。

次回は

 四則演算には、禁止されているルールがあります。それは「何かを0で割ることはできない」というものです。普通の電卓で”1/0″とするとエラーになりますが、calcでは何も表示されません。
 そこで、0で割り算を行おうとした場合に限り「0で割ることはできません」というエラーメッセージを表示することにします。

(次回に続く)

Pocket

Comments are closed.