Пятница, 26 Апреля 2024, 15:13

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Скриптовые языки программирования » Вопросы по ЛУА
Вопросы по ЛУА
hero564Дата: Пятница, 06 Декабря 2013, 19:12 | Сообщение # 1
Made in Ukraine
Сейчас нет на сайте
Всем привет! Заинтересовался луа, а именно множественным присвоением, и возник такой вопрос: будет ли рабочей следующая конструкция?
Код
ab.need[0,1]=1,2

Буду благодарен за ответ


Сообщение отредактировал hero564 - Вторник, 10 Декабря 2013, 22:14
aallaДата: Пятница, 06 Декабря 2013, 19:53 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
а сам по пробовать не пробовать?) есть онлайн интерпритаторы, просто вводишь инструкцию, получаешь профит. А вообще вроде как будет.

Сообщение отредактировал aalla - Пятница, 06 Декабря 2013, 19:55
allxumukДата: Пятница, 06 Декабря 2013, 19:57 | Сообщение # 3
старожил
Сейчас нет на сайте
Синтаксическую ошибку выдаст.

Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
hero564Дата: Пятница, 06 Декабря 2013, 20:03 | Сообщение # 4
Made in Ukraine
Сейчас нет на сайте
aalla, за ссылку спасибо, не знал +
allxumuk, ага, а если ab.need[0-1]=1,2 или ab.need={1,2}
allxumukДата: Пятница, 06 Декабря 2013, 20:08 | Сообщение # 5
старожил
Сейчас нет на сайте
Цитата hero564 ()
ab.need={1,2}

Вот так будет работать.


Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
hero564Дата: Пятница, 06 Декабря 2013, 20:17 | Сообщение # 6
Made in Ukraine
Сейчас нет на сайте
allxumuk, ок, спасибо
aallaДата: Пятница, 06 Декабря 2013, 20:23 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
покажи полностью весь код, я предполагаю есть 2 таблицы, примерно так
Код
ab = {}
ab.need = {1,2}


так?
SnuuxДата: Пятница, 06 Декабря 2013, 21:10 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Вообще то множественное присваивание - это типа:
Код
x, y = 15, 37

Цитата aalla ()
ab = {}
ab.need = {1,2}

тут мы создаем таблицу, и в ней ещё одну (где первый элемент 1, и второй элемент 2). Тут же нету множественного присваивания?

Добавлено (06.12.2013, 21:10)
---------------------------------------------
Вот тут наглядно: http://ideone.com/pzOUR6

Сообщение отредактировал Snuux - Пятница, 06 Декабря 2013, 21:08
aallaДата: Пятница, 06 Декабря 2013, 21:11 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Цитата Snuux ()
тут мы создаем таблицу, и в ней ещё одну (где первый элемент 1, и второй элемент 2). Тут же нету множественного присваивания?

это просто начало кода) ты же не напишешь интерпритатору сразу, как у автора в первом сообщении.
а так то в луа можно хоть так
Код
a,b,c,d = 1,2,3,4

как я понимаю, автор хотел значение таблиц менять таким образом


Сообщение отредактировал aalla - Пятница, 06 Декабря 2013, 21:13
hero564Дата: Среда, 19 Февраля 2014, 22:52 | Сообщение # 10
Made in Ukraine
Сейчас нет на сайте
Возник еще один вопрос:
циклом создаю таблици и вношу их в abilities
Код
for i=0,6 do
      local ab={}
      ab.numb=i
      ab.learning=0
      ab.need=0
      if ab.numb==1 then
    ab.need=0
    ab.open={2}
      elseif ab.numb==2 then
    ab.need=1
    ab.open={3}
      elseif ab.numb==3 then
    ab.need=2
    ab.open={4}
      elseif ab.numb==4 then
    ab.need=3
    ab.open={4}
      elseif ab.numb==5 then
    ab.need=4
                  ab.open={6,7}
      end
      table.insert(abilities,ab)
end

проблема возникает когда хочу присвоить ablt значение функции getAbilitie
Код
for i,v in ipairs(abilities) do
   local ablt=getAbilitie(v.need)
   if v.learning==0 and ablt.learning==2  then   
    v.learning=1
   end
end


Код
function getAbilitie(n)
   for i,v in ipairs(buttons) do
    if v.numb==n then return v end
   end   
end

пишет
Код
attempt to index local 'ablt'(a nil value)


буду рад помощи

Добавлено (19.02.2014, 22:52)
---------------------------------------------
как в луа обьявить пустой двумерный массив?

Сообщение отредактировал hero564 - Вторник, 10 Декабря 2013, 22:46
allxumukДата: Среда, 19 Февраля 2014, 23:42 | Сообщение # 11
старожил
Сейчас нет на сайте
Цитата hero564 ()
как в луа обьявить пустой двумерный массив?

По сути ты объявляешь одномерный массив, а потом пихаешь в него ещё одномерных массивов.


Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
hero564Дата: Четверг, 20 Февраля 2014, 00:50 | Сообщение # 12
Made in Ukraine
Сейчас нет на сайте
allxumuk, мне просто необходимо записывать положение тайлов на экране, так что мне необходимо чтоб он инициализировался динамически, возможно такое реализовать?
allxumukДата: Четверг, 20 Февраля 2014, 00:55 | Сообщение # 13
старожил
Сейчас нет на сайте
hero564, можешь заранее заполнить массив пустыми массивами:
Код
-- Create a 3 x 5 array
grid = {}
for i = 1, 3 do
     grid[i] = {}

     for j = 1, 5 do
         grid[i][j] = 0 -- Fill the values here
     end
end


Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
hero564Дата: Четверг, 20 Февраля 2014, 01:08 | Сообщение # 14
Made in Ukraine
Сейчас нет на сайте
а все решил)
Код

for i=1,map.w do
     mapXY.i={}
     for j=1,map.h do
       mapXY.i.h=0
     end
end
goldsphereДата: Суббота, 01 Марта 2014, 09:08 | Сообщение # 15
заслуженный участник
Сейчас нет на сайте
можно ли превратить .lua в бинарник(чтобы его нельзя было открыть), и считать в том же C++, как полноценный скрипт?

FinderX - Android Аркада
ant0NДата: Суббота, 01 Марта 2014, 10:38 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
.lua можно скомпилировать в .luac

Blender 3D, Godot Engine, LUA
goldsphereДата: Суббота, 01 Марта 2014, 15:51 | Сообщение # 17
заслуженный участник
Сейчас нет на сайте
а его из С++, исполнить можно?

FinderX - Android Аркада
LetsOffBrainsДата: Суббота, 01 Марта 2014, 15:58 | Сообщение # 18
Project SoRDeLKa
Сейчас нет на сайте
goldsphere, я не знающий, но вроде можно использовать интерпретатор, либу какую-то подключить.


goldsphereДата: Суббота, 01 Марта 2014, 15:59 | Сообщение # 19
заслуженный участник
Сейчас нет на сайте
это понятно, вопрос в том, что будут ли выполняться lua файлы из С++, так же как и luac

FinderX - Android Аркада
Форум игроделов » Программирование » Скриптовые языки программирования » Вопросы по ЛУА
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг