On Wednesday, 2 August 2017 at 22:02:49 UTC, Vladimir Panteleev
wrote:
On Wednesday, 2 August 2017 at 21:59:23 UTC, Vladimir Panteleev
wrote:
Good idea! But I think it needs more ranges:
The format call can be substituted with writefln directly:
void main(string[] args)
{
import std.algorithm, std.format, std.stdio;
enum cols = 16;
args[1].File("rb").byChunk(16).each!(chunk =>
writefln!"%(%02X %)%*s %s"(
chunk,
3 * (cols - chunk.length), "",
chunk.map!(c =>
c < 0x20 || c > 0x7E ? '.' : char(c))));
}
Very cool!
Now you can remove: std.format,
and I would substitute: byChunk(16) with byChunk(col)
Can you point me to the explanation of this: %(%02X %)%*s %s ?
Best regards mt.