Completing C code with D style
Stanislav Blinov
stanislav.blinov at gmail.com
Wed Nov 3 18:41:08 UTC 2021
On Wednesday, 3 November 2021 at 00:50:51 UTC, Siarhei Siamashka
wrote:
> !text.join("\n").writeln;
Ahem... You've turned a program that does not allocate to a
program that allocates who knows how much memory?
And Ali... associative arrays? For this? What are you trying to
teach the good beginner here? :D
```d
import std.stdio, std.algorithm;
void main()
{
auto numbers = [-3, 14, 47, -49, -30, 15, 4, -82, 99, 26];
char negativity, even;
write("Would you like in list (n=negatives, p=positives,
b=both)? ");
readf(" %c", &negativity);
write("Would you like in list (e=evens, o=odds, b=both)? ");
readf(" %c", &even);
if ((negativity == 'b') && (even == 'b'))
{
// don't do any unnecessary work
numbers.each!writeln;
}
else
{
numbers.filter!(x => !((negativity == 'n' && x > 0) ||
(negativity == 'p' && x < 0)))
.filter!(x => !((even == 'e' && (x % 2)) ||
(even == 'o' && !(x % 2))))
.each!writeln;
}
}
```
More information about the Digitalmars-d-learn
mailing list