Особливості зберігання змінних у пам’яті NodeMCU/Lua

Відповідь:

Якщо засобами Lua створити декілька змінних A1,…An і записати у них однакове значення, припустимо, що це строкове “bbb”, то було помічено, що доки значення залишається однаковим, Lua майже не виділяє додаткової пам’яті на кожну нову змінну Aх із значенням bbb.

Таким чином доводимо, що bbb зберігається у пам’яті лише один раз, а Lua лише створює посилання на комірку.

Виходить ось така логічна конструкція: “bbb” = A1 = A2 = An.

Це легко перевірити. Зовсім інша ситуація спостерігається відразу, якщо до bbb додати рандомне число у кінець.