...

/

Solution: Perform the Calculation

Solution: Perform the Calculation

The solution to the calculator coding challenge is provided in this lesson.

We'll cover the following...

Solution #

Press + to interact
import std.stdio;
enum Operation { add, subtract, multiply, divide }
struct Calculation {
Operation op;
double first;
double second;
}
double[] calculate(Calculation[] calculations...) {
double[] results;
foreach (calculation; calculations) {
final switch (calculation.op) {
case Operation.add:
results ~= calculation.first + calculation.second;
break;
case Operation.subtract:
results ~= calculation.first - calculation.second;
break;
case Operation.multiply:
results ~= calculation.first * calculation.second;
break;
case Operation.divide:
results ~= calculation.first / calculation.second;
break;
}
}
return results;
}
void main() {
writeln(calculate(Calculation(Operation.add, 1.1, 2.2),
Calculation(Operation.subtract, 3.3, 4.4),
Calculation(Operation.multiply, 5.5, 6.6),
Calculation(Operation.divide, 7.7, 8.8)));
}

Solution explanation

  • Line 11:
    double[]
...