On Tuesday, 28 January 2020 at 14:01:35 UTC, Mike Parker wrote:
[snip]
BTW, while playing with a solution of my own [0] I noticed that
both mine and Robert's version return different results for the
following input [1]:
expected:
'\u0003\u0000\u0000\u00005èÆÕL]\u0012|ξ\u001a7«\u00052\u0011(ÐY\n<\u0010\u0000\u0000\u0000\u0000\u0000\u0000e!ßd/ñõì\f:z¦Î¦±ç·÷Í¢Ëß\u00076*
\bñùC1ÉUÀé2\u001aÓB' },
To reproduce:
$ curl -fsSL
https://github.com/ethjs/ethjs-util/raw/e9aede668177b6d1ea62d741ba1c19402bc337b3/src/tests/test.index.js | sed '350q;d' > input
$ ./robert input
1 4 190 input
$ wc -lwm input
1 3 190 input
[0]:
import std.algorithm : count, splitter;
import std.stdio : File, writefln;
import std.typecons : Yes;
void main(string[] args) {
size_t lines, words, bytes;
foreach (line; args[1].File.byLine(Yes.keepTerminator)) {
lines++;
bytes += line.count;
words += line.splitter.count;
}
writefln!"%u %u %u %s"(lines, words, bytes, args[1]);
}
[1]:
https://github.com/ethjs/ethjs-util/blob/e9aede668177b6d1ea62d741ba1c19402bc337b3/src/tests/test.index.js#L350