[your code here] HexViewer
Martin Tschierschke via Digitalmars-d
digitalmars-d at puremagic.com
Thu Aug 3 02:07:51 PDT 2017
On Thursday, 3 August 2017 at 08:47:12 UTC, Martin Tschierschke
wrote:
> 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)
Error should be cols: byChunk(cols)
>
> Can you point me to the explanation of this: %(%02X %)%*s %s ?
Ah I found it myself:
https://dlang.org/library/std/format/formatted_write.html
The %( %) called "nested array formatting" was new for me.
More information about the Digitalmars-d
mailing list