| Author |
Message |
|
|
по перовму да, условие поменяд.
а по-поводу упрощения - там функция еще делает вот что:
строку содержащую "were found" выводит первой, причем, если она заканчивается на "d.", то ставит перед ней воскл. знак.
|
 |
|
|
в общем, последняя версия скрипта выглядит так:
на форуме SciTE (Ru) говорят, что не понимают что это за функция внизу и как она вообще работает =) Типа, зачем вообще в таблицу еще что-то заносить, когда можно гораздо проще сделать.
|
 |
|
|
Дак, естественно, я переписал как мне надо =) Просто я думал, что можно два раза повторяющуюся команду не писать, а просто сделать переход сразу на вторую её часть.
local написал, но все равно скрипт в функции анализурует что-то не то. При первом запуске пишет "attempt to index global 'f' (a nil value)
>Lua: error occurred while processing command"
только при втором запуске нормально всё. Но, если изменения внести, то опять с первого раза проанализуруется старое, а при втором запуске выдаст новое.
По-поводу 3 не понял... я, кстати, нашел в редакторе настройку "Перезагружать без запроса".
Осталась только проблема с тем, что анализируется старый файл постоянно, вместо нового...
|
 |
|
|
ммм... по-моему это не то.
Проверка на valid.ini нужна для того, чтобы выполнить:
если ~=valid.ini и выполнить только
если == valid.ini
в вашем варианте выполняется только одно из действий в любом случае.
Что дает local перед linebuf?
На вопросы 1) - 3) кто-нить ответы знает?
|
 |
|
|
Сейчас скрипт выглядит так:
Есть несколько вопросов:
1) Какой аналог goto использовать в lua? (строка 2)
2) Как сделать так, чтобы по окончанию работы скрипта файл из которого он был запущен автоматически перезагружался? (а-то он сначала спрашивает следует ли перезагрузить, т.к. файл модифицирован)
3) Изменения в консоли видны только при двоекратном запуске скрипта. Как так? linebuf или кто-то читает старый файл что ли?
|
 |
|
|
во, я разрулил:
но на завтра еще будет над чем подумать =) во-первых, если изменить index.html, то только при втором запуске скрипта выдается обновленный результат.
во-вторых, т.к. нумераация не нужна... нужно будет нижнюю часть кода явно упростить)
|
 |
|
|
выдает
\SciTE\tools\TiDy\tidy.exe -config\SciTE\tools\TiDy\TiDyCFG.ini -f %PROGRAMFILES%\SciTE\tools\TiDy\errors.txt -m C:/index.html
C:\Program Files\SciTE\tools\TiDy.lua:9: attempt to index global 'f' (a nil value)
>Lua: error occurred while processing command
|
 |
|
|
задача в целом такая - нужно вызвать программу tidy.exe с параметрами (-config %PROGRAMFILES%\\SciTE\\tools\\TiDy\\TiDyCFG.ini -f %PROGRAMFILES%\\SciTE\\tools\\TiDy\\errors.txt -m "файл, из которого скрипт был запущен")
ну и сам tidy.exe находится по адресу %PROGRAMFILES%\SciTE\tools\TiDy
а после вызова сделать то, что мы уже делаем)
|
 |
|
|
%PROGRAMFILES%\SciTE\tools\TiDy\tidy.exe -config %PROGRAMFILES%\SciTE\tools\TiDy\TiDyCFG.ini -f %PROGRAMFILES%\SciTE\tools\TiDy\errors.txt -m C:/index.html
%PROGRAMFILES%\SciTE\tools\TiDy\errors.txt
|
 |
|
|
Отбой с нумерацией и info.
Когда строки пронумерованы не работает функция перехода (т.к. вместо "line x column y" вначале идет номер строки). Так что нужно убрать нумерацию =)
По-поводу путей так и не могу разобраться:
так работает f = io.open('errors.txt')
а так f = io.open('%PROGRAMFILES%\SciTE\tools\TiDy\errors.txt') нет
Кавычки и слеши как только не пытался ставить.
print(cmd) выводит nil
print('cmd') выводит cmd
|
 |
|
|
Спасибо огромное!
Но появилась проблема? заменю имена на конкретный адрес, а он из-за пробелов не хочет работать:
не работают =( Работает только с короткими адресами, когда все файлы в папке со криптом...
И сразу хотелось бы попросить сделать так, чтобы:
найденная строка с окончанием "were found!" печаталась в консоли первой. А последующие строки нумеровались и выводилис с номером "1)", "2)" и т.д., вплоть до строки, которая начинается со слова "Info". Дальше просто довыводится остальное.
|
 |
|
|
Сам я ламер, но требования могу сформулировать достаточно хорошо =) Требуется скрипт, который:
Запускает "tidy.exe" с параметрами "-config TiDyCFG.ini -f errors.txt -m index.html"
потом открывает этот errors.txt, вырезает и выводит всю информацию до слов "were found!" (включительно) в stdout.
Это будет первая версия, потом доработаем. Спасибо большое.
|
 |
|
|