[ Обновленные темы · Новые сообщения · Участники · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Урок 2. Интерпретатор и Hello world!
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
Приступим ко второму уроку. Сегодня рассмотрим, как настроить интерпретатор lua, как запускать скрипты(я вам покажу хороший текстовый редактор). Ну и в конце урока напишем первую программу=)

Итак, первое что надо для написания программ - текстовый редактор. Это может быть блокнот, но лучше использовать какие-то другие редакторы, ибо они умеют подсвечивать текст и к примеру выполнять программы. Обычно я пользуюсь редактором SciTE(сборка от RuBoard). Она даёт возможность:
1) гибких настроек
2) подсветку синтаксиса
3) хороший поиск
4) возможность запуска компилятора/интерпретатора с выводом в окно редактора

Скачать можно тут(самая свежая версия на момент написания статьи) сам адрес проекта scite-ru.googlecode.com, а все версии проекта в разделе Downlods.
При установке указываем папку, ждём распаковки, в следующем окне выбираем русский язык, и к строке txt;php;h;cpp;c дописываем txt;php;h;cpp;c;lua (ну и любые другие расширения файлов, которые вы хотите открывать этой прогой) После установки радуемся этому факту)

Теперь надо скачать интерпретатор lua. Самая новая версия луа на момент написания статьи - Lua 5.1.4. В Worms используется Lua 5.0.1, но это не так важно

Итак, качаем lua тут. Распаковываем lua в папку в надёжном месте, к примеру C:\lua. Для удобства переименуйте все exe файлы так, чтобы убрать суффикс "5.1", т.е. lua5.1.exe переименуйте в lua.exe (dll файлы не трогайте!)
Теперь попробуйте запустить файл lua.exe если не выйдет, то пишите в комментах, какими ругнулся Windows и я объясню, что надо сделать.

Настроим системные переменные(чтобы система и луа знали, где искать файлы). Щёлкаем правой мышкой на "Мой компьютер", потом в меню выбираем "Свойства". Потом в окне переходим на вкладку "Дополнительно" и щёлкаем по кнопке "Переменные среды". В этом окне во втором списке ищем Path и дважды щёлкаем по ней. К тексту во втором текстовом поле допишите ";C:\lua". Потом Ок. Теперь щёлкните "Создать" под вторым списком. В этом окне в первом текстовом поле введите LUA_DIR. Во втором поле введите C:\lua. Нажмите Ок. Аналогично создадите переменную LUA_PATH со значением "?.lua;%LUA_DIR%\?.lua;%LUA_DIR%\L_DIR\?.lua" и переменную LUA_CPATH со значением "?.dll;%LUA_DIR%\?.dll;%LUA_DIR%\C_DIR\?.dll"
LUA_DIR- папка, где находится lua
LUA_PATH - папки(точнее шаблоны), где ищутся lua файлы
LUA_CPATH - папки(точнее шаблоны), где ищутся dll файлы(модули)

Теперь настроим SciTE для работы с lua.

Откроем SciTE. В нём в меню найдём "Настройки" -> "Открыть lua.properties". Это файл с настроками lua. Сейчас настроем запуск lua файлов. Ищем строку, начинающуюся со слов command.compile.*.lua и заменяем её содержимое на:

Code
command.compile.*.lua=luac.exe -o "$(FileName).luc" "$(FilePath)"

Так же изменяем строку, начинающуюся со слов command.go.*.lua

Code
command.go.*.lua=lua.exe "$(FilePath)"

Сохраните этот файл.

Ура, всё настроили! Теперь напишем нашу первую программу. Будет она называться Hello World! Ну и задача у ней простая - вывести эту надпись на экран.

Создаём новый файл в SciTE Hello.lua и в нём пишем:

Code
print("Hello world!")

Теперь жмём F5 или выбираем в меню "Tools" -> "Выполнить" или зелёную стрелочку в панели под меню.
Внизу окна должна появиться панелька, к оторой будет примерно такой текст:
Code
>lua.exe "С:\Hello.lua"
Hello world!
>Exit code: 0    Time: 0.365

Exit code: 0 - значит всё ok. Если Exit code: 1(или любое другое число) - значит есть ошибка

Ну вот, поздравляю вас с вашем первым скриптом!

Если по уроку что-то непонятно попробуйте прочитать эту инструкцию



[Прошлый урок]|[Список уроков]|[Следующий урок]


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
K@ST
Проверенные
Сообщений: 907
Реп: 51 / Инв: 13
Code
Кстати поздравьте меня и АлексБонда с проф.праздником - сегодня день программиста!!! 256-ой день в году! Ура!!!

ПОЗДРАВЛЯЮ!!!

 
SW_Krash
Проверенные
Сообщений: 818
Реп: 28 / Инв: 7
Code
Lua: error checking global scope for command

Вот такая ошибка при работе в скайт... в файле настроек я не нашёл command.compile а вот команд гоу нашол и заменил... вопрос в чём ошибка и где искать команд компайл??? хотя по мойму компайл это компилятор.... а го это выполнение... так значит по видимости я чтот сделал не так с переменными??? жду ответа пошол всё перепроверять =) сам луа пашет номально(ну тот что скачал)


Всё что ни делается, делается в Китае(SW_Krash, 2009)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)
Я отрицаю вашу реальность и заменяю её своей!(Адам Севидж, 200x)
OFFTOP SWEAT OFFTOP(фольклор)

 
K@ST
Проверенные
Сообщений: 907
Реп: 51 / Инв: 13
Code
command.compile а вот команд гоу нашол и заменил... вопрос в чём ошибка и где искать команд компайл???

Я кста тоже не нашел

 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
1) ты SciTE обновил, или он старый?
2) если в файле нет настройки, попробуй её добавить - ничего страшного не произойдёт
3) в какой именно момент эта ошибка вылазит?

Кто ещё настроил lua? Мне нужны отчёты!


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
Так, если в lua.properties вы нашли строку, которая начинается со слов:
Code
command.go.subsystem.*.lua=<тут что-то>

то допишите вначале #
Code
#command.go.subsystem.*.lua=<тут что-то>

Это всё исправит. (Добавил к тексту урока)


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
SW_Krash
Проверенные
Сообщений: 818
Реп: 28 / Инв: 7
Всё народ я урок усвоил так что давайте подтягивайтесь а то мне ждать всех не хочется =)))

Всё что ни делается, делается в Китае(SW_Krash, 2009)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)
Я отрицаю вашу реальность и заменяю её своей!(Адам Севидж, 200x)
OFFTOP SWEAT OFFTOP(фольклор)

 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
Следующий урок будет завтра днём или вечером. Щас не хочу что-то рассказывать

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
DrHitman27
Админы
Сообщений: 2115
Реп: 52


Герыч может так сделать? чтобы видно было где кончается
это больше на луа для чайников похоже: нажмите пуск найдите надпись......


 
SW_Krash
Проверенные
Сообщений: 818
Реп: 28 / Инв: 7
хахахах... ну можешь учи лучше хотя согласен что нужно объяснять что и для чего мы делаем а не просто писать что делать...
т.е. лично я понял крайней отдалённо понял что мы там делали в настройках сред, да и об отсальном хотелось услышать объяснения так как я могу ошибаться в понимание того что делаю =)


Всё что ни делается, делается в Китае(SW_Krash, 2009)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)
Я отрицаю вашу реальность и заменяю её своей!(Адам Севидж, 200x)
OFFTOP SWEAT OFFTOP(фольклор)

 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
То админы(в частности To hitman):
не бойтесь поправлять "дизайн" моих уроков=)
To krash(и to все):
не бойся задавать вопросы, где неясно, ибо:
1) ты поймёшь сам
2) я хочу организовать уроки именно в форме дискуссии
3) уроки станут своебразным faq

В этом уроке мы сделали вот что:
для запуска lua из консоли(а также из SciTE) добавили все пути в системную переменную PATH.
Сам Lua использует для поиска файлов свои пути - LUA_PATH и LUA_CPATH
LUA_PATH - директории, где лежат lua файлы
LUA_CPATH - где лежат dll файлы
луа ищет файлы, когда он загружает не встроенный в него модуль(с помощью функции require). сначала он просматривает lua файлы, потом dll.
Вы всё потом поймёте, когда я про модули расскажу


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Drun
Хранители порядка
Сообщений: 1099
Реп: 23 / Инв: 14
помогите "нубомену" у меня тоит VISTA а в свойствах моего компьютера нету вкладки "Дополнительно"
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
О, а с вистой я не знаком, помогите ему)

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
DrHitman27
Админы
Сообщений: 2115
Реп: 52
Quote (Drun)
помогите "нубомену" у меня тоит VISTA а в свойствах моего компьютера нету вкладки "Дополнительно"

свойства "Мой комьютер"->
слева надпись "Дополнительные параметры системы" -> вкладка "Дополнительно"


 
Drun
Хранители порядка
Сообщений: 1099
Реп: 23 / Инв: 14
пасиб:)
 
волк
Заблокированные
Сообщений: 1
Реп: 0
спасибо
 
Worminkile
Проверенные
Сообщений: 899
Реп: 33
Quote (волк)
спасибо

не флуди, блин!


Уря!пасхалька!ЫЫЫ!
 
firsacho
Админы
Сообщений: 3813
Реп: 84 / Инв: 15
Хм... а обязательно было парить людям мозг установкой интерпретатора Lua? Можно было сразу начать с создания скриптов под Worms 4. Самых элементарных.



Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

mod.worms.pro - мод Worms Renewation для Worms4
 
killeroi
Хранители порядка
Сообщений: 1850
Реп: 88 / Инв: 9
Этим постам столько же месяцев сколько моей регистрации

Как в старые добрые
 
{NoNaMe-T}^SwEd^
Проверенные
Сообщений: 141
Реп: 4
во блин, после работы с Java мо3г переклюючится не может хД
вместо print, alert пишу xD



don't worry, keep smile =)
{NoNaMe-T}^SwEd^
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: