First-class functions/Use numbers analogously: Difference between revisions
First-class functions/Use numbers analogously (view source)
Revision as of 01:34, 27 February 2022
, 2 years agoC++ entry
m (→{{header|Phix}}: marked p2js compatible) |
(C++ entry) |
||
Line 234:
}
</lang>
=={{header|C++}}==
<lang cpp>#include <array>
#include <iostream>
int main()
{
double x = 2.0;
double xi = 0.5;
double y = 4.0;
double yi = 0.25;
double z = x + y;
double zi = 1.0 / ( x + y );
const std::array values{x, y, z};
const std::array inverses{xi, yi, zi};
auto multiplier = [](double a, double b)
{
return [=](double m){return a * b * m;};
};
for(size_t i = 0; i < values.size(); ++i)
{
auto new_function = multiplier(values[i], inverses[i]);
double value = new_function(i + 1.0);
std::cout << value << "\n";
}
}
</lang>
{{out}}
<pre>
1
2
3
</pre>
=={{header|Clojure}}==
|