- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
math.randomseed(os.time())
local a = {}
a[#a+1] = function() --create
local t = {}
t[#a+1] = math.random(1,100)
t[#a+2] = 'хуй'
return setmetatable(t,{__index = a})
end
a[#a+1] = function() --empty function
end
local t = a[1]()
for k,v in ipairs(t) do
print(k,v) --показывает все элементы таблицы как положено
end
print(#t) --0
print(t[4]) --хуй
Нехуя непонятно
> setmetatable
Потому что доигрались с метатаблицами?
Потому что 1 и 2 элемента у t не существует
а # вернет длину до первого разрыва!
Соответственно первый разрыв в 1 элементе, по этому длина 0.
А в цикле как бы показывается что якобы есть 1 и 2 элемент, но это пиздешь, это лишь ссылки на элементы a.
ВНИМАНИЕ. ГОВНОКОДНАДЗОР ПРЕДУПРЕЖДАЕТ! ЧЕРЕЗМЕРНОЕ ЗЛОУПОТРЕБЛЕНИЕ ОПРЕДЕЛЕНИЯ ДЛИНЫ ВРЕДИТ БЫСТРОДЕЙСТВИЮ!
Не шути со временем, не шути сука со временем, Понял? Пидарасина.
https://youtu.be/omI0fmiArJM