Подтвердить что ты не робот

Начать Lua-скриптинг

Я нахожусь на том этапе, когда я вынужден изучить Lua, так что у вас есть какие-то предложения о том, как я это делаю? У меня нет большого опыта работы с другими языками сценариев, чем с PHP.

Итак, некоторые предложения по страницам "head start Lua"?

ИЗМЕНИТЬ

Как дополнение к замечательным страницам учебника, можете ли вы предложить любые "программы", которые я мог бы сделать, что поможет мне узнать Lua? Представьте себе, что я хотел бы изучить Pointers в С++, я бы сделал Linked List. Я хочу прикоснуться к основам в Lua, но тем временем быть открытым для довольно продвинутых вещей.

4b9b3361

Ответ 1

Прежде всего, проведите свой путь через Программирование в Lua, вам понадобится день или два, чтобы получить суть Lua.

Однако я могу сразу сказать вам в первый раз, игнорируя сопрограммы и метатеги, они очень мощные, но нужно время, чтобы понять. Сначала изучите синтаксис, область обзора (так же, как PHP к счастью для вас) и стандартные библиотеки.

После этого вернитесь к сопрограммам и метатегам, прочитайте их, попробуйте их, и в третий раз вы можете получить его. Если у вас очень хороший фон CS, это сложные темы.

Изменить: Книга бесплатна на сайте ==. Кроме того, это лучший учебник на Lua, все узнают Lua с ним.

Также: Если вы цель Lua для World of Warcraft (возможно, не на всякий случай), вы можете проверить этот учебник

И: Вот советы и рекомендации в StackOverflow, может помочь вам дать некоторые идеи о том, что ожидать от Lua

Рекомендуемые программы/Упражнения:

Поскольку вы сначала смотрите на Lua для веб-разработки, попытайтесь понять и улучшить Описание данных в PIL. Это даст вам несколько хороших идей и приятное чувство силы или Lua.

Затем вы можете попробовать сыграть с главой Data Structures, хотя у Lua есть один сложный тип данных, таблица, эта глава покажет вам Lua-подобные способы сделать таблицу, сделав все, что вам нужно.

Наконец, после того, как вы начнете метать метаданные, вы должны создать систему классов (да, с Lua вы решаете, как работает ваша система классов). Я уверен, что все, кто знает, что Lua разработали десятки систем классов, хорошая глава, чтобы начать работу в системе классов, Объектно-ориентированное программирование

И если у вас есть время и вы знаете C или что-то в этом роде (включая С# и Java), попробуйте расширить приложение с помощью Lua, но для этого потребуется неделя или две.

Ответ 2

Существует также большое количество проектов, связанных с Lua на LuaForge.

Если вы используете Windows как свою повседневную платформу, я бы рекомендовал получить Lua для Windows в качестве хорошей отправной точки. Он включает в себя широкий набор полезных модулей, все готовые и установленные вместе с интерпретатором Lua.

После первого прохода через PiL и ссылка руководство, вы захотите прочитать Lua Programming Gems, который в настоящее время доступен только в бумажном издании.

<plug> Рассмотрите возможность покупки книг через ассоциированные ссылки на странице книг Lua или LuaForge для поддержки проектов. </plug>

Изменить: Что касается идей для проектов программирования, в которых подходит Lua, найдите проблемы, в которых table предоставляет рычаги. Таблицы являются центральными для Lua, так как даже глобальные переменные являются просто полями в таблице. Таблицы могут быть проиндексированы значениями любого типа данных, кроме nil, но имеют особенно эффективную реализацию, если они используются в качестве массивов.

Одна из причуд, которая выталкивает людей из C-фона, состоит в том, что все вещи в Lua, естественно, индексируются начиная с 1. Строки индексируются от 1, массивы начинаются с 1 и т.д. Не беспокойтесь об этом слишком, нет ничего плохого в использовании a[0], но длина массива, заданная #a, определяется при условии, что массив начался с a[1].

Еще одна особенность заключается в том, что функции не имеют имен. Они являются значениями первого класса, которые обычно хранятся в некоторой переменной, которая имеет имя. Синтаксический сахар делает его похожим на имена, но это просто удобство.

Metatables являются особенно Lua-ish функцией таблиц (и других типов, но это действительно передовая тема), которые являются основой большинства схем для создания объектно-ориентированных вещей в Lua.

Закрытия и истинные хвостовые вызовы - это другие функции Lua, которые не часто встречаются на небольших языках сценариев, которые действительно могут упростить реализацию некоторых идиом.

Ответ 3

Смешно видеть все эти сложные списки (хотя они, безусловно, правильные). Еще в 2002 году я прочитал о первых 20+ страницах справочного руководства Lua и начал использовать его. Это действительно настолько просто. Lua (и ANSI C) - это несколько языков, которые действительно вписываются в один разум сразу - и остаются там. Для других, по крайней мере, мне нужно постоянно переучиваться.

Имейте в виду, что думать о Луа займет время. Я думаю, что мне было 6 месяцев или около того. При выходе из C/С++ мы склонны решать проблемы определенным образом. Lua может предложить лучшие средства (т.е. С использованием таблиц), но для их просмотра требуется некоторое время. Этот переход к более высокому уровню абстракции аналогичен смену Ассемблера → С в 1980-х годах. Многие люди все еще кодировали некоторое время в C, как если бы это был только переносимый ассемблер.

Ответ 4

В дополнение к вышеизложенным предложениям также есть Lua wiki, который стоит просмотреть. Существует огромное количество фрагментов кода и небольших рецептов, которые могут быть полезны.

Ответ 5

Вы можете установить World of Warcraft и создать мод для этого (он использует Lua). На самом деле это, вероятно, плохая идея.

Возможно, попробуйте интегрировать Lua в .NET-приложение (предположим, что вы программист на С#) и сделайте с ним что-то "весело":

Использование Lua с С#

Или просто просмотрите lua.org

Ответ 6

Я написал короткое руководство по быстрому запуску Lua для людей, использующих его в проекте, над которым я работал. Если вы знакомы с другими языками сценариев, это может ускорить работу. docs на Lua.org очень хороши и должны охватывать все, что вам нужно. Lua - довольно маленький язык, и его можно узнать достаточно быстро.

Ответ 7

Это довольно общая рекомендация, но если вы хотите начать работу на новом языке программирования в качестве инженера-программиста, вам будет интересно начать работу с проблемами Project Euler на новом языке программирования. Я делал это с Python в последнее время и нашел, что это вдохновляет и приносит большой энтузиазм в кодировании.