Как связать переменную в блоке разбора - PullRequest
1 голос
/ 19 марта 2012

Я просто хочу перебрать список файлов и после анализа его содержимого вывести имя файла:

files: [%test1.txt %test2.txt]
rule: [to "test" thru "test" copy x to "." (print x print file)]
foreach file files [
    content: read file
    parse [any rule]
]

при выполнении у меня есть ** Ошибка скрипта: файл не имеет значения

Как связать имя файла var с контекстом программы блока правил?

Ответы [ 2 ]

4 голосов
/ 28 декабря 2012

Это также возможно сделать так (буквально вставьте в ПРАВИЛО и дайте FOREACH связать его в нужное время):

files: [%test1.txt %test2.txt]
rule: [to "test" thru "test" copy x to "." (print x print file)]
foreach file files compose/only/deep [
    content: read file
    parse content [any (rule)]
]
3 голосов
/ 20 марта 2012

Просто нужно связать правило каждой итерации:

files: [%test1.txt %test2.txt]
rule: [to "test" thru "test" copy x to "." (print x print file)]
foreach file files [
    bind rule 'file
    content: read file
    parse content [any rule]
]
...