Мне нужно сгенерировать имена объектов, которые я не знаю заранее, чтобы сделать запись.
Запись должна выглядеть так:record(day1:[...] day2:[...] day3:[...] ...)
.
Поскольку я не знаю, сколько дней в записи будет содержать, я не могу написать имена функций самостоятельно! Я пробовал несколько вещей:
{For 1 N 1
proc {$ I}
local
Label
Day="day"
in
...
% Label=Day+I
% cannot add a list and a number
% Label={List.append Day {Int.toString I}}
% creates the right string, but when trying to make the record: type error
% Label=dayI
% works but produces only "dayI" features, all the same
% Label=day + I
% cannot add a feature and a number
...
end
end
}
Затем все метки обрабатываются в списке, чтобы использовать Record.makeTuple
.
Есть ли способ создавать динамические функции или манипулировать ими?
На данный момент единственной найденной мной альтернативой является использование строки не как функции, а с парой: record("day1"#[..] "day2"#[..] ...)
, но это не то, что мне нужно.
Спасибо за любой ответ или помощь.