Туториал [Lua] Учимся вместе или "Хэппи Луа"

Продолжать или не стоит этого делать?

  • Да, давай!

    Голосов: 66 81,5%
  • Не, не надо!

    Голосов: 4 4,9%
  • Ну можно еще попробовать, а дальше посмотрим...

    Голосов: 11 13,6%

  • Всего проголосовало
    81
Что ты за бред говоришь? С графикой работает директэкс или OpenGL, а управление можно запихнуть на любом языке. Ну в конце концов любой объект интерфейса является просто объектом, а работать с объектом можно на любом языке, даже не объектно-ориентированном. А сделать батник... Батник - это командная строка для windows. Ну, как чат в майнкрафте.
Люа очень хороший язык. Он удобен и прост, в нём нет ничего лишнего и специфичного, он вполне подходит для обучения азам программирования. Так же он из-за своей простоты был бы отличной заменой яваскрипту или аяксу. Так же интересны мета-таблицы, хранить информацию в них весьма-весьма удобно, для баз данных тоже хороший язык. И многие детали в играх куда правильнее было бы писать на люа. К примеру, CryEngine поддерживает Lua, мало того, он был написан на нём. Конечно, далеко-далеко не полностью, но это говорит, что C++, на котором была написана основная его часть, был нерентабелен в тех местах. Ведь не просто так КрайТек его использовали.
DirectX и OpenGl это только библиотеки для работы с ней. И вот не нужно сейчас писать "я читал бла бла бла и ты бла бла бла".
Про сам язык - да, отчасти согласен. Если не его малая популярность, то сейчас бы он вполне конкурировал в js и cs.
О май гадбл. Пойду учить, быть может, что то накалякаю. хд
 
  • Нравится
Реакции: Onny
DirectX и OpenGl это только библиотеки для работы с ней. И вот не нужно сейчас писать "я читал бла бла бла и ты бла бла бла".
Про сам язык - да, отчасти согласен. Если не его малая популярность, то сейчас бы он вполне конкурировал в js и cs.
О май гадбл. Пойду учить, быть может, что то накалякаю. хд
Фейспалм. А С++ не пользуется этими библиотеками? А другие языки? И разве не могут? Бред сказал короч.
 
К слову, вот код к последнему уроку:
Код:
local function main()
a = "Привет!"
b = "Это Lua."
c = "Сплошное веселье!"
print(a..  "\v Знаешь, что это? " ..b.." \\Язык программирования... " ..c);
end
main()

Выводит в консоль такое:
Посмотреть вложение 14675
Это правильно?
Ты все сделал правильно! Это не твоя проблема! Я тут нашел некое объяснение этому на одном форуме(не обращается внимания, что говорят о C++, тема и для Lua актуальна):
First:
- Подскажите пожалуйста, у меня MS VS 2008 Exp.E. не выводит символ вертикальной табуляции. Т.е. я пишу
printf("\v bla-bla-bla");

А выводится код ASCII символа 0B там кружочек со стрелочкой. Я посмотрел в вики, 0В получается соответствует управляющей последовательности \v, но а как сделать-то чтобы у меня табуляция была? Самое интересное что \t работает нормально.

Second:
-А куда ты выводишь? Тут ведь фишка в том, что ASCII, со всеми его управляющими символами, затачивался изначально на терминалы висящие на rs232 портах огромных ламповых компьютеров. Хотя нет, пожалуй не ламповых, а кремниевых, но и тем не менее ещё на тех компьютерах, среди которых габариты промышленного холодильника считались миниатюрными. Но это я к тому, что все эти символы заточены на терминал. Чтобы управлять курсором тупого-тупого терминала.
Если же ты выводишь в какой-нибудь-там контрол типа Edit, то ему плевать на эти управляющие символы. Edit вынужден распознавать \r\n и \t, поскольку они повсеместно используются в текстах. Но на всё остальное он кладёт болт. Edit ведь настолько туп, что когда он натыкается на файл, в котором переводы строк обозначены символом \n, а не последовательностью \r\n, то ему сносит крышу и он рисует весь файл в одну строчку, иногда втыкая какие-то нечитаемые символы.
Если ты выводишь в консоль виндовс, так ей тоже насрать на большинство управляющих символов и их последовательностей, поскольку... Ну это просто не в стиле майкрософт. Вообще командная строка не в стиле майкрософт, и консоль у них как была дерьмищщем ещё во времена MS-DOG, так и осталась дерьмом по сей день. Ну а забивая на интерпретатор командной строки, майкрософт забивает заодно и на консоль.
Если тебе нужен текстовый редактор с поддержкой такого рода вещей, то надо либо искать контрол типа Edit от стороннего производителя, который поддерживает такие фишки, либо писать свой такой контрол. То же самое с консолью.
 
Ты все сделал правильно! Это не твоя проблема! Я тут нашел некое объяснение этому на одном форуме(не обращается внимания, что говорят о C++, тема и для Lua актуальна):
Слава Богу, пронесло... За 20 минут прошёл 3 урока + ДЗ(если так можно его назвать)+10 минут на задания, что сам себе придумал... Итого - 3 урока = 30 минут, и ты всё запоминаешь :Р
 
Слава Богу, пронесло... За 20 минут прошёл 3 урока + ДЗ(если так можно его назвать)+10 минут на задания, что сам себе придумал... Итого - 3 урока = 30 минут, и ты всё запоминаешь :Р
Ты бы попробовал обгонять программу, чтоб быть боле развитым(если есть желание)
 
Ты бы попробовал обгонять программу, чтоб быть боле развитым(если есть желание)
Я лучше буду следить и делать всё по программе, но игратся с некоторыми моментами. К примеру, сейчас я испытываю табуляцию в связке с остальными спец. символами
--[[Минутка раздолбайства для начинающих]]--

Сейчас я обращаюсь к тем, кто начинает учить язык Lua. Предлагаю попрактиковать спец. символы, используя вашу фантазию и таблицу ASCII :D

Ниже я приведу пример рисунка, нарисованого с помощью Lua:
Код:
                  &
                  |
            ||####|===================================>
||#################|------------------------------------->
            ||####|===================================>
                  |
                  |
                  &
Пусть эго имя будет Экскалибур. Так вот, загадка в следующем - сколько строчек кода занял этот рисунок?
ВНИМАНИЕ!
Считаем строчки кода, включая от local function main() до main()
 
Ниже я приведу пример рисунка, нарисованого с помощью Lua:
Код:
                  &
                  |
            ||####|===================================>
||#################|------------------------------------->
            ||####|===================================>
                  |
                  |
                  &
Пусть эго имя будет Экскалибур. Так вот, загадка в следующем - сколько строчек кода занял этот рисунок?
ВНИМАНИЕ!
Считаем строчки кода, включая от local function main() до main()
4?
 
Сразу и наповал :D Код в студию!
Код:
local function main()
print("                    \n                  &\n                  |\n            ||####|===================================>\n||#################|------------------------------------->\n            ||####|===================================>\n                  |\n                  |\n                  &\n                    ");
end
main()
Для тех, кто не понял - наверху версия, использующая перенос строки: \n
Изначальная версия:
Код:
local function main()
print("                    ");
print("                  &");
print("                  |");
print("            ||####|===================================>");
print("||#################|------------------------------------->");
print("            ||####|===================================>");
print("                  |");
print("                  &");
print("                    ");
end
main()
 
Я это все в одну строчку уместил :D
 
Я это все в одну строчку уместил :D
Код:
local function main() print("                    \n                  &\n                  |\n            ||####|===================================>\n||#################|------------------------------------->\n            ||####|===================================>\n                  |\n                  |\n                  &\n                    "); end main()
Не ты один умный такой:p
 
Код:
local function main() print("\t\t  &\n\t\t  |\n\t    ||####|===================================>\n||#################|------------------------------------->\n\t    ||####|===================================>\n\t\t  |\n\t\t  &");end; main();

Код:
local function main() print("                    \n                  &\n                  |\n            ||####|===================================>\n||#################|------------------------------------->\n            ||####|===================================>\n                  |\n                  |\n                  &\n                    "); end main()
Не ты один умный такой:p
У меня пробелов меньше:p
 
Код:
local function main() print("\t\t  &\n\t\t  |\n\t    ||####|===================================>\n||#################|------------------------------------->\n\t    ||####|===================================>\n\t\t  |\n\t\t  &");end; main();


У меня пробелов меньше:p
Фу, целостность картинки нарушена!
Код:
          &
          |
        ||####|===================================>
||#################|------------------------------------->
        ||####|===================================>
          |
          &
 
Фу, целостность картинки нарушена!
Код:
          &
          |
        ||####|===================================>
||#################|------------------------------------->
        ||####|===================================>
          |
          &
Ой, точно :D
Код:
a="\t\t  &\n";b="\t\t  |\n";c="\t    ||####|===================================>\n";d="||#################|------------------------------------>\n"print(a..b..c..d..c..b..a);

Последняя версия
 
Ой, точно :D
Код:
a="\t\t  &\n";b="\t\t  |\n";c="\t    ||####|===================================>\n";d="||#################|------------------------------------>\n"print(a..b..c..d..c..b..a);

Последняя версия
Использование переменных для задания табуляции и т.п.? Интересно, мосье, но структура такая же покоцаная:lol:
\Тупаю вставка кода :\ Скажу одно - последний вариант кода не исправил ситуации, разве что уменьшил код:coffee:
 
Использование переменных для задания табуляции и т.п.? Интересно, мосье, но структура такая же покоцаная:lol:
\Тупаю вставка кода :\ Скажу одно - последний вариант кода не исправил ситуации, разве что уменьшил код:coffee:
Лучше уменьшенный покоцанный код, чем огромная покоцанная махина!
 
Добавь несколько несложных упражнений, пока ждём следующего урока
 
Добавь несколько несложных упражнений, пока ждём следующего урока
Сейчас все упражнения будут типичными, вот после следующего урока можно будет хорошенько разнообразить! Ну...поопределяй тип переменной, type();
 
Сейчас все упражнения будут типичными, вот после следующего урока можно будет хорошенько разнообразить! Ну...поопределяй тип переменной, type();
Код:
local function main()
a = 5
b = "Ну-ну, удиви меня, Lua!"
print("Тип переменной a - "..type(a).."\nТип переменной b - "..type(b));
end
main()

Вывод в консоли:

Код:
Тип переменной a - number
Тип переменной b - string
 
Код:
local function main()
a = 5
b = "Ну-ну, удиви меня, Lua!"
print("Тип переменной a - "..type(a).."\nТип переменной b - "..type(b));
end
main()

Вывод в консоли:

Код:
Тип переменной a - number
Тип переменной b - string
Молодец!
 
Назад
Верх