Как установить определенный порядок файлов для каждого файла в локальном макросе - PullRequest
1 голос
/ 30 октября 2019

У меня в Stata есть цикл, ссылающийся на локальный макрос, который я использую для выполнения нескольких действий (создание файла, запуск сценария, связанного с каждым файлом и т. Д.).

Все хорошо, но я бы хотелизменить порядок чтения файлов в цикле, который по умолчанию является алфавитным.

Мой цикл выглядит следующим образом:

foreach file of local myfiles {
    noisily display as text "some text"
}

Помимо команды display, сценарий продолжается с моим кодом.

Есть ли способ настроить порядок вкакой цикл обращается к файлам, хранящимся в локальном макросе?

Я бы хотел добиться этого без изменения имен файлов.

1 Ответ

2 голосов
/ 30 октября 2019

У меня работает следующее:

local myfiles myfile1.dta myfile2.dta myfile3.dta myfile4.dta

tokenize `myfiles'

foreach x in `3' `1' `4' `2' {
    display "`x'"
}

myfile3.dta
myfile1.dta
myfile4.dta
myfile2.dta

Другим способом является следующее:

local myfiles myfile1.dta myfile2.dta myfile3.dta myfile4.dta

local mf myfile2.dta myfile3.dta
local myfiles `mf' `: list myfiles - mf'

display "`myfiles'"
myfile2.dta myfile3.dta myfile1.dta myfile4.dta
...