This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
works:programmer:lua:index [2020/02/12 15:05] Chugreev Eugene |
works:programmer:lua:index [2022/06/21 09:46] (current) Chugreev Eugene |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Язык программирования LUA ====== | ====== Язык программирования LUA ====== | ||
+ | * [[works: | ||
* [[works: | * [[works: | ||
+ | * [[works: | ||
+ | * [[works: | ||
* [[works: | * [[works: | ||
+ | * [[works: | ||
+ | * [[works: | ||
+ | * [[works: | ||
+ | * [[works: | ||
- | |||
- | ===== В чем разница между : и . в функциях lua ===== | ||
- | Разница лишь в том что что используя : функции не нужно передавать self как параметр. См. Пример | ||
- | < | ||
- | function MyClass: | ||
- | self.name = a | ||
- | end | ||
- | |||
- | function MyClass.Func2(self, | ||
- | self.name = a | ||
- | end | ||
- | |||
- | object: | ||
- | object.Func2(object, | ||
- | </ | ||
- | |||
- | ===== Сделать простой дамп таблицы ===== | ||
- | < | ||
- | function dump(var) | ||
- | local res = "" | ||
- | if type(var) == " | ||
- | return '"' | ||
- | elseif type(var) == " | ||
- | return "" | ||
- | elseif type(var) == " | ||
- | return ' | ||
- | elseif type(var) == " | ||
- | if var then | ||
- | return " | ||
- | else | ||
- | return " | ||
- | end | ||
- | elseif type(var) == " | ||
- | return nil | ||
- | elseif type(var) == " | ||
- | -- ipairs | ||
- | -- pairs - key named pairs | ||
- | res = " | ||
- | if not indexed then | ||
- | for k, v in pairs(var) do | ||
- | res = res .. dump(k) .. ' | ||
- | end | ||
- | end | ||
- | res = string.sub(res, | ||
- | res = res .. " | ||
- | else | ||
- | print(type(var)) | ||
- | end | ||
- | return res | ||
- | end | ||
- | |||
- | local socket = {my=" | ||
- | print(dump(socket)) | ||
- | </ | ||