[Logo]
LUA Форум
  [Search] Поиск   [Recent Topics] Последние темы   [Hottest Topics] Горячие темы   [Members]  Список участников   [Groups] На главную страницу 
[Register] Регистрация / 
[Login] Вход 
Помогите скриптик написать  XML
Индекс форума » LUA: Общие вопросы
Автор Сообщение
Fraerok
Новичок

Зарегистрирован: 25/02/2008 15:47:26
Сообщений: 12
Оффлайн

Сам я ламер, но требования могу сформулировать достаточно хорошо =) Требуется скрипт, который:
Запускает "tidy.exe" с параметрами "-config TiDyCFG.ini -f errors.txt -m index.html"
потом открывает этот errors.txt, вырезает и выводит всю информацию до слов "were found!" (включительно) в stdout.

Это будет первая версия, потом доработаем. Спасибо большое.
al
ГУРУ
[Avatar]

Зарегистрирован: 04/02/2008 20:12:56
Сообщений: 127
От: Poltava, Ukraine
Оффлайн



Ламер - это тот кто ничего не знает и имеет кучу понтов и всем рассказывает что делать....а ты пока чайник.
Научишься - все ещё впереди.
[Email] [ICQ]
Fraerok
Новичок

Зарегистрирован: 25/02/2008 15:47:26
Сообщений: 12
Оффлайн

Спасибо огромное!
Но появилась проблема? заменю имена на конкретный адрес, а он из-за пробелов не хочет работать:

не работают =( Работает только с короткими адресами, когда все файлы в папке со криптом...

И сразу хотелось бы попросить сделать так, чтобы:
найденная строка с окончанием "were found!" печаталась в консоли первой. А последующие строки нумеровались и выводилис с номером "1)", "2)" и т.д., вплоть до строки, которая начинается со слова "Info". Дальше просто довыводится остальное.
al
ГУРУ
[Avatar]

Зарегистрирован: 04/02/2008 20:12:56
Сообщений: 127
От: Poltava, Ukraine
Оффлайн

что выводит команда:
?
Я думаю, что у тебя просто неверно расставлены слеши.

Измененная часть кода:



Прикол со строкой которая начинается со слова "Info" - домашнее задание.
Не разберешься, - ход мыслей в форум, помогу.
[Email] [ICQ]
Fraerok
Новичок

Зарегистрирован: 25/02/2008 15:47:26
Сообщений: 12
Оффлайн

Отбой с нумерацией и 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
al
ГУРУ
[Avatar]

Зарегистрирован: 04/02/2008 20:12:56
Сообщений: 127
От: Poltava, Ukraine
Оффлайн

Верни ответ в форум:


А вообще, по правильному, необходимо сделать полную постановку задачи, потому как у тебя в мыслях частность, а задача твоя на Lua может решаться способом гораздо легче чем реализация твоей частности.
[Email] [ICQ]
Fraerok
Новичок

Зарегистрирован: 25/02/2008 15:47:26
Сообщений: 12
Оффлайн

%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

Это сообщение было редактировано 1 раз. Последнее обновление произошло в 25/02/2008 23:31:19

Fraerok
Новичок

Зарегистрирован: 25/02/2008 15:47:26
Сообщений: 12
Оффлайн

задача в целом такая - нужно вызвать программу tidy.exe с параметрами (-config %PROGRAMFILES%\\SciTE\\tools\\TiDy\\TiDyCFG.ini -f %PROGRAMFILES%\\SciTE\\tools\\TiDy\\errors.txt -m "файл, из которого скрипт был запущен")
ну и сам tidy.exe находится по адресу %PROGRAMFILES%\SciTE\tools\TiDy

а после вызова сделать то, что мы уже делаем)
al
ГУРУ
[Avatar]

Зарегистрирован: 04/02/2008 20:12:56
Сообщений: 127
От: Poltava, Ukraine
Оффлайн

Из текста делаем вывод что Lua не делает подстановку переменных окружения в строку

и необходимо сделать так:



И не забудь про правильную постановку.

Это сообщение было редактировано 3 раз. Последнее обновление произошло в 26/02/2008 19:32:56

[Email] [ICQ]
Fraerok
Новичок

Зарегистрирован: 25/02/2008 15:47:26
Сообщений: 12
Оффлайн


выдает
\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
al
ГУРУ
[Avatar]

Зарегистрирован: 04/02/2008 20:12:56
Сообщений: 127
От: Poltava, Ukraine
Оффлайн

Думаю дальше не интересно со всеми обсуждать, - смотри личные сообщения.
[Email] [ICQ]
Fraerok
Новичок

Зарегистрирован: 25/02/2008 15:47:26
Сообщений: 12
Оффлайн

во, я разрулил:
но на завтра еще будет над чем подумать =) во-первых, если изменить index.html, то только при втором запуске скрипта выдается обновленный результат.
во-вторых, т.к. нумераация не нужна... нужно будет нижнюю часть кода явно упростить)
Fraerok
Новичок

Зарегистрирован: 25/02/2008 15:47:26
Сообщений: 12
Оффлайн

Сейчас скрипт выглядит так:
Есть несколько вопросов:
1) Какой аналог goto использовать в lua? (строка 2)
2) Как сделать так, чтобы по окончанию работы скрипта файл из которого он был запущен автоматически перезагружался? (а-то он сначала спрашивает следует ли перезагрузить, т.к. файл модифицирован)
3) Изменения в консоли видны только при двоекратном запуске скрипта. Как так? linebuf или кто-то читает старый файл что ли?
al
ГУРУ
[Avatar]

Зарегистрирован: 04/02/2008 20:12:56
Сообщений: 127
От: Poltava, Ukraine
Оффлайн


только логика проверки на valid.ini не ясна
[Email] [ICQ]
Fraerok
Новичок

Зарегистрирован: 25/02/2008 15:47:26
Сообщений: 12
Оффлайн

ммм... по-моему это не то.
Проверка на valid.ini нужна для того, чтобы выполнить:
если ~=valid.ini и выполнить только
если == valid.ini
в вашем варианте выполняется только одно из действий в любом случае.
Что дает local перед linebuf?

На вопросы 1) - 3) кто-нить ответы знает?
 
Индекс форума » LUA: Общие вопросы
Перейти:   
Powered by JForum 2.1.8 © JForum Team