On Thursday, 17 August 2017 at 21:49:38 UTC, Timon Gehr wrote:
On 17.08.2017 23:03, aberba wrote:
On Wednesday, 16 August 2017 at 13:57:17 UTC, jmh530 wrote:
On Wednesday, 16 August 2017 at 09:54:41 UTC, aberba wrote:
This looks really clean for code modularity.
import io = std.stdio : {writeln, write}, ...
What does this add? A line like below would be confusing.
import io = std.stdio : {writeln, write}, writefln;
The following code compiles and the imports are less
confusing.
import io = std.stdio : writeln, write;
import std.stdio : writefln;
void main()
{
io.write("foo");
io.writeln("bar");
writefln("My items are %(%s %).", [1,2,3]);
}
Its more like this:
import oo = {std.stdio : {writeln, write}, std.algorithm:
{filter, map}, …};
oo.writeln();
oo.write();
oo.filter(...);
oo.map(...);
private struct oo{
import std.stdio: writeln, write;
import std.algorithm: filter, map;
// …
}
void main(){
oo.write("result: ");
oo.writeln(oo.map!(x=>x/2)(oo.filter!(x=>x%2==0)([1,2,3,4,5,6,10])));
}
Wow, that might solve the problem! A little more verbose but it
does combine everything.
Any downsides?
Thanks.