Я хотел бы создать программу Stata, которая принимает несколько списков неопределенной длины в качестве аргументов. Однако я не знаю, как программа может различать списки, когда они передаются.
Например, я хотел бы иметь возможность сделать что-то вроде:
prog myprog
args list1 list2
{something with list1}
{something with list2}
end
loc list1 a b c
loc list2 x y z
myprog `list1' `list2'
loc list1 a b c d
myprog `list1' `list2'
Два решения, о которых я думал:
- Создание дополнительных макросов с указанием длины каждого списка и их передачей
- с использованием разделителя между списками
Ни то, ни другое очень сложно, но я думаю, что есть более простой способ сделать это.
Я использую Stata 13 для Windows.