Гайд Массивы и взаимодействия с ними + немножко о цикле for

AnWu

Известный
Всефорумный модератор
4,777
5,400
Было бы намного интереснее, если бы вы от нечего делать это написали, однако, в прочем, ваше предыдущее сообщение про "таблицы идут как строки, адреса" понятнее не стало
Было бы намного интереснее, если бы вы от нечего делать это написали, однако, в прочем, ваше предыдущее сообщение про "таблицы идут как строки, адреса" понятнее не стало
значит забей.
 

Tema05

Известный
1,474
439
Не понимаю смысл темы, это же вроде как самые азы массивов в любом языке. Кто это не знает?
даже про gmatch, pairs/ipairs, split и т.п. не рассказали.
 
  • Нравится
Реакции: kin4stat

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,746
4,831
Не понимаю смысл темы, это же вроде как самые азы массивов в любом языке. Кто это не знает?
даже про gmatch, pairs/ipairs, split и т.п. не рассказали.
Тоже тема: Так а што такое массив и как его кушоть
 

Musaigen

abobusnik
Проверенный
1,616
1,392
Было бы намного интереснее, если бы вы от нечего делать это написали, однако, в прочем, ваше предыдущее сообщение про "таблицы идут как строки, адреса" понятнее не стало
Lua:
local array = {2, 3, 4}

local another_array = {
  [array] = "yeah, this is array"
}

print(another_array[array]) -- Output: yeah, this is array
print(another_array[{2, 3, 4}]) -- Output: nil
--[[
  Выводит nil потому что адрес таблицы иной.
  Проще говоря Lua видит таблицу another_array так -
  local another_array = {
    [0x233256, т.е какой-то адрес] = "yeah, this is array"
  }
]]
 
  • Нравится
Реакции: whyega52

|DEVIL|

Известный
Автор темы
363
281
Не понимаю смысл темы, это же вроде как самые азы массивов в любом языке. Кто это не знает?
даже про gmatch, pairs/ipairs, split и т.п. не рассказали.
Новички это не знают, кто ещё-то. Мб для тебя эта тема устарела, но для них она актуальна, а ещё один гайд не помешает. Если ты думаешь что это только полные чайники не знают, то загляни их скрипты: с массивами вроде умеют работать, а всё равно копипастят жутко по 200 строк и более
 
Последнее редактирование:

Rei

Известный
Друг
1,616
1,674
В этом гайде упор больше на упрощение жизни новичкам в скриптинге, что-бы не было копипаста в скриптах. а пеирсы инпеирсы лишние в этом гайде как я считаю, я в своё время даже не знал что цикл for существует, не говоря уже о подробностях. Бошка бы точно щёлкнула
с каких пор это
Код:
for i = 1, #hui do
print(hui[i])
end
стало лучше, чем это?
Код:
for k, v in ipairs(hui) do
print(v)
end

без паирс ты, кстати, вообще не сможешь проштрудить массив с такими штуками
Код:
['key'] = val
 

Tema05

Известный
1,474
439
Думаю, все знают, что переменные хранят в себе не таблицы, а ссылки (адреса), указывающие на них. Не удивительно, что print вернул nil, хотя, по человеческой логике, должен был вернуть "yeah, this is array". Во втором print выражение-коструктор вернуло указатель на новую таблицу, которая ранее не была инициализирована как поле таблицы another_array, поэтому получилось то, что получилось.

В Lua нет split, только реализация от @FYP, живи теперь с этим.
И что что её там нет? Это широко преминимая и используемая функция.