PHP スクリプトの解決に行き詰まっています。
一連の命令から結果を計算したい。命令は、1 行ごとにスペースで区切られたキーワードと数字で構成されます。命令はファイルから読み込まれ、結果が画面に出力されます。命令はいくつでも指定できます。命令は演算子 (加算、除算、減算、乗算) です。命令は数学的な優先順位を無視します。最後の指示は「適用」と数字 (「適用 3」など) である必要があります。次に、電卓はその数値で初期化され、前の命令がその数値に適用されます。
[Input]
add 2
multiply 3
apply 3
[Output]
15
【解説】 (3 + 2) * 3 = 15
例
[Input]
multiply 9
apply 5
[Output]
45
ロジックやコードの例を手伝ってくれる人はいますか?
これは私がこれまでに試したことです:
class calculator {
public
function calculate($expression) {
$expression = str_replace(' ', '', $expression);
return $this - > exec($expression);
}
private
function exec($expression) {
switch ($expression['op']) {
case 'add':
$r = $expression[0] + $expression[1];
break;
case 'subtract':
$r = $expression[0] - $expression[1];
break;
case 'multiply':
$r = $expression[0] * $expression[1];
break;
case 'divide':
$r = $expression[0] / $expression[1];
break;
}
return $r;
}
private
function parseExpression($expression) {
$blankspace = preg_match('/\s/', $expression);
$counter = count($expression);
}
}