Эта глава в процессе написания.
Общий тип 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;
}