Difference between revisions of "File data manipulation"

From D Wiki
Jump to: navigation, search
(Add title)
(remove)
(Tag: Blanking)
 
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>
 

Latest revision as of 23:00, 17 July 2020