Sean Kelly wrote:
Andrei Alexandrescu wrote:

I totally agree. The useful spec of std.file.read should be "reads the file to exhaustion in a buffer and returns it"

Okay, that's a fair definition. So the correct behavior for reading an unbounded stream should be an out of memory error? This would be entirely reasonable, but any failure conditions should be described as well.

I thought more about this and a nice solution is to have std.file.read take an optional "up to" parameter:

void[] read(in char[] filename, size_t upTo = size_t.max);

Then you can get a random int with:

int rnd = (cast(int[]) read("/dev/random", 4))[0];

Yum.


Andrei

Reply via email to