Входной поток

Обработка входного потока

Эта глава в процессе написания.

Общий тип File имеют stdin, stdout (из std.stdio) и сконструированные через File(...) объекты. Они имеют методы, например, readln, writeln. Функция readln() применяется к stdin, writeln() к stdout. В коде:

echo hello |
 rdmd --eval=' // - ( import std.stdio в --eval не обязвателен )
  void ps(File f){
   char[] buf; 
   writefln("%s",f.readln);
  } 
  ps(stdin)
'

определенная нами функция ps(File f) принимает любой объект типа File, читает из него одну строку и печатает ее на stdout. В данном случае объектом File был stdin. В следующем примере мы увидим, что его можно заменить на объект открытого через File() файла:

$ echo "hello to file">aa.txt
$ rdmd --eval=' 
 void ps(File f){
  char[] buf; 
  writefln("%s",f.readln);
 }
 ps(File("aa.txt","r"))
 '

============ про map ============

import std.stdio, std.algorithm, std.string;
void main(string[] args)
{
    stdin.byLine.map!(a=>split(a,"*")).each!writeln;
}

results for ""

    No results matching ""