|
|
Line 1: |
Line 1: |
| | | |
− | == File data manipulation one-liners ==
| |
− |
| |
− | * Given a file with a single number on each line, reach only the first 10 lines, sum the total and print each number read.
| |
− |
| |
− | <syntaxhighlight lang="D">
| |
− | module read_and_sum;
| |
− |
| |
− | import std.conv : to;
| |
− | import std.stdio: writeln;
| |
− | import std.range : takeExactly, tee;
| |
− | import std.algorithm.iteration : map, each;
| |
− |
| |
− | void main()
| |
− | {
| |
− | double total = 0;
| |
− | File("./10numbers.txt")
| |
− | // lazily iterate by line
| |
− | .byLine
| |
− |
| |
− | // pick first 10 lines
| |
− | .takeExactly(10)
| |
− |
| |
− | // convert each to double
| |
− | .map!(to!double)
| |
− |
| |
− | // add element ro total
| |
− | .tee!((x) { total += x; })
| |
− |
| |
− | // print each number
| |
− | .each!writeln;
| |
− | }
| |
− | </syntaxhighlight>
| |