Здравствуйте, гость ( Вход | Регистрация )

> Помогите освоить LUA
sutra
сообщение 24.10.2018, 18:09
Сообщение #1


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Начал осваивать LUA, помогите пожалуйста, в справке нет многих операторов.
Сразу возник вопрос, как загрузить массив из файла (аналог load_array), наверняка ответ на форуме есть, но я не нашёл. В обычном скрипте код такой.

load_array %cfg $ConfigFile

Ну и сохранить соответственно тоже не знаю как.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
DarkMaster
сообщение 27.10.2018, 14:00
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27736
Пользователь №: 11.279



Цитата
Да вот только сам по себе луа пустой.

Классы этого никак не меняют.
Цитата
Его сфера применение - встраивание.

И справляется на самом деле очень неплохо. Тем не менее есть те же сокеты, биндинги под wxWidgets и Qt. Т.е. на нем пишут. Его распространненость скорее следствие работы не шибко большой группы и отсутствия макетинга. Это не Google который штампует языки и на них _будут_ писать вне зависимости от качества продукта.
Цитата
Класс - удобно, красиво, хоть иногда и громоздко.

Тут холивар может быть очень большим. Я не сторнник ооп. Да, оно бывает в определенных ситуациях нужно, но количество этих ситуаций и количество "написал на классах потому, что модно и современно" я не считал. Для меня очень неожиданно было, когда случайно наткнутся на статистику кода в линях: кода на чистом си оказалось в 2.5 раза больше, чем на плюсах. Заставило задуматься на самом деле.
Цитата
А луа сегодня есть, завтра нет...отсюда как бы еще и вытекает вопрос а зачем собственно и переучиваться на луа и вникать в него, если он не востребован практически нигде(по сравнению с питоном, js и другими) ?

У него есть своя ниша в которую он плотно засел - геймдев. Сейчас по сути он там стандарт. Тот же wow по части аддонов полностью на нем написан (это просто дикий объем кода - их сотни тысяч), GTA вся логика на lua описывается. Причем если вов был изначально такой, то переход на lua такой большой корпорации, как Rockstar не мог не быть тщательно взвешан. Так же в обработке траффика его частенько используют - nginx, wireshark. Это маркеры. Серьезные проекты и встаривание в них было вполне успешным. Да, язык не топ популярности, но ниша занята, его там никто не теснит, а нужное он делает на 5.
Зачем переучиваться? Ну я, например, знаю одну студию разработки в которой плюсовики нафигачили кода с классами и кучей переназначений в метатаблицах. Т.е. использовали возможности языка на все 100%. Вот только когда приходишь со своим самоваром в другой язык, то не очень хорошо получается в плане результа. Потом команда сильно разосралась, т.к. натуральным луашникам этот изврат не очень нравился, а плюсовикам было все пофигу и пальцы веером. В итоге выкинули всех за не совсем адекватность, уже год ищут луашников именно для переписывания всей этой крутоты на классах. Обрывки кода видел лично - искать где, что править в 10 раз переназначенных метаблицах полный бред. Это нужно делать либо тому человеку, который это писал, либо сидеть с маном в котором вся структура чуда. Луа не святой, есть свои огрехи, си я уважаю больше, асм еще больше, но у всего есть ниша и причины почему ни один язык не стал универсальным и доминирующим везде. Это я все к чему - со своим самоваром не стоит =)


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 27.10.2018, 14:48
Сообщение #3


********

Master
Сообщений: 1.395
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 21065
Пользователь №: 16.156



Цитата(DarkMaster @ 27.10.2018, 14:00) *

Классы этого никак не меняют.

И справляется на самом деле очень неплохо. Тем не менее есть те же сокеты, биндинги под wxWidgets и Qt. Т.е. на нем пишут. Его распространненость скорее следствие работы не шибко большой группы и отсутствия макетинга. Это не Google который штампует языки и на них _будут_ писать вне зависимости от качества продукта.


Как бы меняют, ведь qt и виджеты являются ооп (или нет ?). Если бы не поддержка ооп из коробки, он бы загнулся в самом начале.

Цитата

Тут холивар может быть очень большим. Я не сторнник ооп. Да, оно бывает в определенных ситуациях нужно, но количество этих ситуаций и количество "написал на классах потому, что модно и современно" я не считал. Для меня очень неожиданно было, когда случайно наткнутся на статистику кода в линях: кода на чистом си оказалось в 2.5 раза больше, чем на плюсах. Заставило задуматься на самом деле.


это про линуксы ? Статистика чего ? Ядра ? Ну тогда не удивительно, что там си больше. printf быстрее потоков раза в 3 если не больше. А попробуй вывести через него сложную структуру, класс. Неудобно, не так ли ?

Цитата

У него есть своя ниша в которую он плотно засел - геймдев. Сейчас по сути он там стандарт. Тот же wow по части аддонов полностью на нем написан (это просто дикий объем кода - их сотни тысяч), GTA вся логика на lua описывается. Причем если вов был изначально такой, то переход на lua такой большой корпорации, как Rockstar не мог не быть тщательно взвешан. Так же в обработке траффика его частенько используют - nginx, wireshark. Это маркеры. Серьезные проекты и встаривание в них было вполне успешным. Да, язык не топ популярности, но ниша занята, его там никто не теснит, а нужное он делает на 5.


Да никто и не спорит с этим. Только вот учить его чтобы попасть на одну из 2 вакансий в Москве (hh.ru), когда есть unity c# 360+ вакансий.....Это если говорить о реальной его пользе, а не уровне пилота. Конечно, на нем пишут, только где....

Цитата

Зачем переучиваться? Ну я, например, знаю одну студию разработки в которой плюсовики нафигачили кода с классами и кучей переназначений в метатаблицах. Т.е. использовали возможности языка на все 100%. Вот только когда приходишь со своим самоваром в другой язык, то не очень хорошо получается в плане результа. Потом команда сильно разосралась, т.к. натуральным луашникам этот изврат не очень нравился, а плюсовикам было все пофигу и пальцы веером. В итоге выкинули всех за не совсем адекватность, уже год ищут луашников именно для переписывания всей этой крутоты на классах. Обрывки кода видел лично - искать где, что править в 10 раз переназначенных метаблицах полный бред. Это нужно делать либо тому человеку, который это писал, либо сидеть с маном в котором вся структура чуда. Луа не святой, есть свои огрехи, си я уважаю больше, асм еще больше, но у всего есть ниша и причины почему ни один язык не стал универсальным и доминирующим везде. Это я все к чему - со своим самоваром не стоит =)


Не стоит. А еще не стоит ставить человека на луа проект, который знает только c++.

Ради интереса зашел на одну из вакансий по луа:

Цитата
Для этого необходимо:

Опыт разработки на C#/C++
Опыт разработки на Android платформе: SDK, NDK
Английский язык - технический
Умение работать в команде
Желание работать в игровой индустрии
Желание и способность учиться
Необходимо знание языка LUA



И вот риторический вопрос, а зачем знание плюсов, да еще и тем более шарпов (где все классы) луашнику ? Сам по себе луа самодостаточен. Модули, метатаблицы - все что хочешь. Никак работодатель желает биндить классы (ведь для этого нужен опыт шарпа ?) через луа ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
sutra   Помогите освоить LUA   24.10.2018, 18:09
cirus   --lua log "clear" log "mode compact...   25.10.2018, 1:58
DarkMaster   Поскольку lua весь на деревьях и размеры массивов ...   25.10.2018, 8:43
DarkMaster   Предчувствуя следующий вопрос: local function lg...   25.10.2018, 8:54
sutra   Спасибо большое парни! Оба здорово помогли мне...   25.10.2018, 23:06
DarkMaster   Смысл в том, что это делать уже не надо - оно уже...   26.10.2018, 0:36
sutra   Дарк, а есть такая возможность получить некий резу...   26.10.2018, 12:28
DarkMaster   Нет. И подозреваю, что даже между запущенными на ...   26.10.2018, 14:25
WKnight   Теоретически есть. А смысл?   26.10.2018, 14:35
sutra   Смысла нет, просто скрипт огромный, хотел частями ...   26.10.2018, 15:53
sutra   В башке "месиво" сплошное от всех этих я...   26.10.2018, 16:49
olduo.com   В башке "месиво" сплошное от всех этих ...   27.10.2018, 0:51
DarkMaster   И да и нет. Пока не лезешь в классы и метатаблицы...   27.10.2018, 1:59
Cockney   Да вот только сам по себе луа пустой. Его сфера ...   27.10.2018, 12:44
olduo.com   Ради интереса зашел на одну из вакансий по луа: ...   27.10.2018, 18:17
sutra   Во какую тему замутил. А я вот со своим дилетантск...   27.10.2018, 16:09
DarkMaster   Насколько я понял там вообще пофигу ибо линкуется...   27.10.2018, 17:08
Cockney   Начали мы как раз с того, что луа живет за счет ...   10.11.2018, 0:05
sutra   Я попробовал и даже простейшую функцию не смог сде...   27.10.2018, 18:24
cirus   Выкладывайте код, поправим. Для примера: --lua --...   27.10.2018, 18:31
sutra   Не смог реализовать goto как только не пробовал, д...   27.10.2018, 19:53
cirus   Лучше сразу забудьте про него. --lua function pro...   27.10.2018, 19:53
sutra   Спасибо. То есть goto не работает??   27.10.2018, 20:01
cirus   Нет. Он и не нужен. В луа его вообще нет. Вроде к...   27.10.2018, 20:04
sutra   Меня конечно учили в своё время, что goto использо...   27.10.2018, 20:16
DarkMaster   Как правило подобные проблемы говорят о том, что ...   28.10.2018, 2:11
sutra   А оператор continue в цикле while есть?   29.10.2018, 0:00
cirus   В луа нет continue.   29.10.2018, 0:18
sutra   Это очень нехорошо. Если честно, то я не понимаю. ...   29.10.2018, 1:28
DarkMaster   while var > 1 do local result = check_some_pa...   29.10.2018, 4:29
sutra   Спасибо Дарк. Но у меня так не получится. Допустим...   29.10.2018, 12:55
sutra   Слишком сложный код. никакого линейного выполнения...   29.10.2018, 13:15
sutra   Грубо говоря есть определённое количество событий,...   29.10.2018, 13:25
sutra   local n = "123.txt" local f = io.open(...   29.10.2018, 14:41
DarkMaster   А лежит он где? Рядом с ехе пилота? Пилот перезап...   29.10.2018, 14:44
sutra   Обычным текстом открывает [[123.txt]] Минутку, те...   29.10.2018, 15:04
cirus   Скорее всего были какие-то ошибки. --lua local n ...   29.10.2018, 15:09
sutra   Перегрузил Пилот через прибивалку, всё заработало,...   29.10.2018, 15:17
sutra   Понял причину, забыл поставить двойной слеш при ук...   29.10.2018, 15:40
DarkMaster   Не редактируйте код перед тем, как выложить. Ну л...   29.10.2018, 18:00
sutra   Я не редактировал. Просто сначала использовал полн...   29.10.2018, 18:21
DarkMaster   это фиксанули буквально пару дней назад   30.10.2018, 5:31
sutra   Добрался до файндов. и как и думал ничего у меня н...   31.10.2018, 13:03
sutra   И конечно примеры на lua "надёжно" зарыт...   31.10.2018, 13:14
cirus   --lua local a, c = findimage(0, 0, 1920, 1080...   31.10.2018, 13:29
sutra   Спасибо. Так я и говорю надёжно спрятано. Я случа...   31.10.2018, 13:35
cirus   Когда выйдет полноценная версия пилота на луа, то...   31.10.2018, 13:50
sutra   --lua log "clear" log "mode compact...   31.10.2018, 14:01
cirus   Да, в findimage есть баг, если искать на скрине от...   31.10.2018, 14:10
sutra   --lua log "clear" log "mode compact...   31.10.2018, 14:17
cirus   --lua log "clear" log "mode compact...   31.10.2018, 14:23
sutra   Спасибо разобрался. Ну в общем тот баг и в lua про...   31.10.2018, 14:43
cirus   --lua log "clear" log "mode compact...   31.10.2018, 14:57
sutra   Спасибо.   31.10.2018, 15:12
DarkMaster   Суть в том, что само тело пилотовских функций оди...   31.10.2018, 19:04
sutra   А получить массив найденных пикселей, где хранятс...   1.11.2018, 12:54
cirus   --lua local a = findcolor("0, 0, 1920, 108...   1.11.2018, 13:09
sutra   Спасибо. А какой самый простой способ в lua убить...   1.11.2018, 13:26
DarkMaster   arr = nil вы не убили массив. Вы создали новый п...   1.11.2018, 13:44
WKnight   Плин, вот так скажешь ваське ченить полезное, и по...   1.11.2018, 13:51
sutra   Спасибо. Вывод... лучше спросить, коли с мозгами т...   1.11.2018, 14:20
sutra   Всем огромное спасибо, кто потратил своё время на ...   4.11.2018, 18:46
sutra   --lua check=5 checkint=0 for i=1, 10 do for j=...   8.11.2018, 12:01
cirus   Нет.   8.11.2018, 12:36
DarkMaster   Не забывайте области видимости - пишите local при ...   8.11.2018, 17:34
sutra   Спасибо, я не забываю. На примерах просто лень, у...   9.11.2018, 1:59
WKnight   А напомните, что именно имеется ввиду. Я как раз р...   9.11.2018, 2:07
sutra   Так Cirus показывал на примере моей картинки в тем...   9.11.2018, 2:12
cirus   https://forum.uokit.com/index.php?s=&sh...st...   9.11.2018, 2:19
DarkMaster   1) Глобальные переменные медленные. 2) В луа огра...   9.11.2018, 10:07
WKnight   А, я думал может еще чего интересного нашли :)   9.11.2018, 12:48
DarkMaster   Я тебе могу предложить убрать костыль по координат...   9.11.2018, 13:02
sutra   Кнайт, мне нравится подход, ЕЩЁ ... Я считаю, что...   9.11.2018, 16:59
WKnight   Чет не помню такого.   9.11.2018, 18:28
DarkMaster   В приват ща опишу. А то "секретные технологии...   9.11.2018, 18:36
sutra   Блин, секретные технологии. Ну у меня тоже есть та...   10.11.2018, 1:16
sutra   Фишка в том, что анализируются не изображения, а ф...   10.11.2018, 1:39
sutra   Думаю всё это легко можно сделать в lua , но мне п...   10.11.2018, 2:13
cirus   --lua log "clear" log "mode compact...   10.11.2018, 2:29
DarkMaster   В данном случае я бы рекомендовал для начала забыт...   10.11.2018, 13:07
sutra   Ну этот метод я знаю, в принципе неплохой вариант...   10.11.2018, 14:51
sutra   Сорри, не доглядел, действительно, я не знал синт...   10.11.2018, 15:08
DarkMaster   Очень неплохо поднимается производительность, если...   10.11.2018, 15:29
sutra   Так в том то и фишка, что колор в памяти только-то...   10.11.2018, 15:44
cirus   --lua -- сделать привязку Ctrl+A local h = workwin...   10.11.2018, 16:25
sutra   Спасибо большое. Век живи и век учись. Я просто п...   10.11.2018, 16:52
cirus   Color, findimage, findcolor, getimage, move, left...   10.11.2018, 17:07
sutra   ОК.   10.11.2018, 17:30
sutra   Теперь про борьбу с рендерингом. Может кому пригод...   12.11.2018, 16:22
sutra   Конечно если картинки очень сложные, то спасёт тол...   12.11.2018, 18:38
sutra   function FindRGB(addr,len,scrX1,scrY1,fx1,fy1,...   12.11.2018, 23:31
sutra   Круто, я так не умею, не знаю как.   13.11.2018, 0:00
sutra   Эх, если бы за один присест получить доступ к памя...   13.11.2018, 0:16
DarkMaster   Может быть рассчитан на основе кооридант. Т.е. ег...   13.11.2018, 0:21
sutra   Спасибо Дарк. Я не знал про переменные. В Паскале ...   13.11.2018, 0:39
DarkMaster   Это регэкспы. Можно почтиать в regex, но в луа он...   13.11.2018, 0:46
sutra   Спасибо на добром слове Дарк. Примерно я понимаю. ...   13.11.2018, 1:01
sutra   А вот это не факт. Каркать не стану, но сдаётся м...   13.11.2018, 1:32
7 страниц V  1 2 3 > » 


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.4.2024, 3:42
Designed by Nickostyle