А с чего собственно начать? Кто-то пишет что обязательно знание любого языка, так ли это? Или просто дополнительная опция которая упростит освоение?
Если Language Specification полная, то етого достаточно чтобы изучить любой язык програмирования. Дальше в ход идут логика и алгоритмы.
По ней. Появились вопросы. Почему if, or and и так далее не является идентификаторами? Или я неправильно понимаю слово идентификатор? Ещё вопрос в конце главы, Which of the following strings are valid identifiers? --- _end End end until? nil NULL Дело в использовании заглавной буквы? Я правильно понял? То есть ответ End.
Извините за столь нубские вопросы, по сути они как раз таки и относятся к логике, но я лучше так, чем никак.
Тебе самому интересно вообще грызть сухую теорию онли и гадать? Всегда можно взять и поглядеть исходники и на глаз уже прикинуть что тебе понятно или не очень, и да, знакомство хоть с каким-то языком упрощает дело. Я в основном вообще знаю только паскаль и чуть цпп, но глядя на луа я уже вижу логику, главное чтоб текст оформлен был не криво. Луа я не учил никогда. Не редактировал даже. Однако я вот прям сейчас иду в аи гомункула в моём клиенте и сразу вижу примеры. Лучше кастомный из мираи, но и дефолтный сойдёт: (из AI\Util.lua) Код: function IsInAttackSight (id1,id2) local x1,y1 = GetV (V_POSITION,id1) local x2,y2 = GetV (V_POSITION,id2) if (x1 == -1 or x2 == -1) then return false end local d = GetDistance (x1,y1,x2,y2) local a = 0 if (MySkill == 0) then a = GetV (V_ATTACKRANGE,id1) else a = GetV (V_SKILLATTACKRANGE,id1,MySkill) end if a >= d then return true; else return false; end end (edit: кстати точки с запятой тут не нужны вообще, фиг знает чего их поставили) Сразу видно ответ как минимум на один твой вопрос - большие буквы в операторах/зарезервированных словах вовсе не обязательны. Местами тут многовато пробелов, но это уже дело писавшего, разбиение на строки вменяемое, всё видно. Короче не грызи просто учебник и его тесты, а сразу бери маленькие примеры исходников про разные штуки и копайся с ними. И пробуй сам такие писать. Параллельно с учебником, если тебе он удобен. Олсо товарищ сейчас кинул такое: http://tylerneylon.com/a/learn-lua/ Плюс вопрос можно банально загуглить, ну. Фриро и так маленький форум, так ещё и как бы не является программистским вообще.
Чисто для читабельности. О чём и говорится в штатной доке. Которую я уже советовал почитать. Она написана специально для тех, кто программированием никогда не занимался.
Идентификатор ето переменная которая может местить в себе значение. if, or and и так далее ето служебные слова которие при компиляцыи превращаютса в команды процесора. В главе должно быть описано какие свойства должен иметь идентификатор чтобы правильно компилироватса. Ищо там пишетса чуствителен ли язык к регистру. если не чуствителен то разницы между End и end нету, и с большой буквы будет неверный ответ.
да, там было указано что end забронировано (вообще все они с маленькой буквы) но при этом далее указали что End и END тоже разные.
В принципе все вы правы, не стоило грызть книгу без примеров. Но у меня возникла проблема билдинга самого луа не говоря уже об инсталляции. Почему так много вариантов билдинга существует и чем они отличаются? Почему некоторые очень сложные а некоторые простые? И да, надо ли его ставить вообще? зная язык не проще ли хоть в блокноте долбать? Или программе имеющей нумерованные строки?