Jump to content

Дада (: фулдилка


Recommended Posts

То ли я только сейчас догнал, то ли мне показалось.
  
local _table = {}; 
_table.test = "test"; 
_table.test2 = 2; 
  
local _test = _table; 
  
-- теперь самое интересное. 
_test.test = "123"; -- я так понял, что значение изменится и в _table и в _test? 
  

Все верно, то же самое со стрингами, если меняешь их с помощью метафункций

Link to comment
  • Replies 2.4k
  • Created
  • Last Reply

Top Posters In This Topic

Вот это что меня сейчас раздражает. Я 2 дня мучался с проблемой пока до меня не дошло.. Не понимаю зачем было это делать вообще..

Теперь такой вопрос.

Как сделать что бы значение менялось только в _test? Просто я создал таблицу (класс как бы) для GUI, копирую (я думал что копирую) в новый класс (т.е. как бы импортирую функции из класса GUI) а оказалось что я ещё и добавил функции из нового класса в класс GUI.. be.gif

Link to comment
Вот это что меня сейчас раздражает. Я 2 дня мучался с проблемой пока до меня не дошло.. Не понимаю зачем было это делать вообще..

Теперь такой вопрос.

Как сделать что бы значение менялось только в _test? Просто я создал таблицу (класс как бы) для GUI, копирую (я думал что копирую) в новый класс (т.е. как бы импортирую функции из класса GUI) а оказалось что я ещё и добавил функции из нового класса в класс GUI.. be.gif

а ты книжку по ЛУА напрасно игнорируешь, советую к прочтению

-- копия таблицы без копирования метатаблицы 
function fSimpleCopyTable ( t ) 
    if type(t) ~= 'table' then return t end 
  
    local tNew = {} 
    local n = next(t) 
    while n do 
        tNew[n] = fSimpleCopyTable( t[n] ) 
        n = next(t, n) 
    end 
  
    return tNew 
end 
  
local table1 = { a = 1, b = 2, c = 3 } 
local table1_copy = fSimpleCopyTable( table1 ) 
local table1_link = table1 

но это при условии, что в таблице нет обратных ссылок на себя или других таблиц, содержащих обратные ссылки на себя или начальную таблицу. Если таблица будет такая, то скопировать её нельзя без кучи проверок на обратные ссылки

local table1 = { a = 1, b = 2, c = { d = 3, e = 4 } } 
table1.c.f = table1 
  
local table1_copy = fSimpleCopyTable( table1 ) -- переполнение стэка 

это вызовет зацикливание и переполнение стэка. Поэтому надо быть весьма внимательным к таким моментам

Link to comment

Как создавать вопросы на мантисе если кнопки "Создать вопрос" нету, и при попытке создать вопрос вообще пишет "Доступ запрещён".

Пользователь:: Kernell (Dmitry - наблюдатель)

Я так понимаю наблюдателям не дано? Что нужно что бы такая возможность появилась?

Link to comment

Да зачем удалять то её, лучше бы в toggleControl добавить :)

EDIT:

Кстати заметил, что нету событий для ComboBox, например было бы не плохо если добавят onClientGUIComboBoxSelected.

А то вот у меня на onClientGUIClicked не реагирует, и на onClientGUIMouseDown тоже..

Link to comment

возможна ли работа через прокси? если нет, то есть ли какие либо способы игры через прокси с помощью левых программ, на работе у одного хорошего человека порезаны все порты, кроме 80, как быть?)

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...