Arithmetic evaluation: Difference between revisions

Content added Content deleted
m (→‎{{header|Perl 6}}: flat before reduction)
m (→‎{{header|Sidef}}: minor code simplification)
Line 4,716: Line 4,716:


Testing the function:
Testing the function:
<lang ruby>[
<lang ruby>for expr,res in [
['2+3' => 5],
['2+3' => 5],
['-4-3' => -7],
['-4-3' => -7],
Line 4,724: Line 4,724:
['2*-3--4+-0.25' => -2.25],
['2*-3--4+-0.25' => -2.25],
['2 * (3 + (4 * 5 + (6 * 7) * 8) - 9) * 10' => 7000],
['2 * (3 + (4 * 5 + (6 * 7) * 8) - 9) * 10' => 7000],
].each { |arr|
] { 

var (expr, res) = arr...;
var num = evalArithmeticExp(expr);
var num = evalArithmeticExp(expr);
num == res || (
assert_eq(num, res);
"%-45s == %10g\n".printf(expr, num);
die "Error occurred on expression '#{expr}': got '#{num}' instead of '#{res}'\n";
);

"%-45s == %10g\n".printf(expr, num);
}</lang>
}</lang>