Data update

This commit is contained in:
Ingy döt Net 2024-07-13 15:19:22 -07:00
parent 29a5eea0d4
commit 5c1bb7bfa9
2011 changed files with 35081 additions and 3229 deletions

View file

@ -1,4 +1,4 @@
val .data = qs:block END
val data = qs:block END
start stop increment comment
-2 2 1 Normal
-2 2 0 Zero increment
@ -11,21 +11,22 @@ val .data = qs:block END
0 0 0 Start equal stop equal zero: zero increment
END
var .table = submatches(RE/([^ ]+) +([^ ]+) +([^ ]+) +(.+)\n?/, .data)
# Process data string into table.
# We could have just started with a list of lists, of course.
var table = submatches(RE/([^ ]+) +([^ ]+) +([^ ]+) +(.+)\n?/, data)
val .f = fn(.x) number .x
for .i in 2..len(.table) {
.table[.i] = map [.f, .f, .f, _], .table[.i]
for i in 2..len(table) {
table[i] = map([number, number, number, _], table[i])
}
for .test in rest(.table) {
val .start, .stop, .inc, .comment = .test
for test in rest(table) {
val start, stop, inc, comment = test
{
val .series = series(.start .. .stop, .inc)
val s = series(start .. stop, inc)
catch {
writeln $"\.comment;\nERROR: \._err["msg"]:L200(...);\n"
writeln "{{comment}}\nERROR: {{_err'msg:L200(...)}}\n"
} else {
writeln $"\.comment;\nresult: \.series;\n"
writeln "{{comment}}\nresult: {{s}}\n"
}
}
}

View file

@ -0,0 +1,15 @@
procedure DisplayRange(first, last, step: integer);
begin
Print($'({first,2}, {last,2}, {step,2}): ');
if step = 0 then
Println('not allowed')
else Println(Range(first, last, step));
end;
begin
var ranges := |(-2, 2, 1), (-2, 2, 0), (-2, 2, -1),
(-2, 2, 10), (2, -2, 1), (2, 2, 1),
(2, 2, -1), (2, 2, 0), (0, 0, 0)|;
foreach var (f, l, s) in ranges do
DisplayRange(f,l,s);
end.