Size: a a a

2021 October 30

RM

Roy Mustang in pro.lua
Короче, не знаю с чем связано, но Msg не находит
источник

S

Snusmumriken in pro.lua
Оно присваивает Msg = msgFunction в тот момент, когда msgFunction не объявлена, то есть nil.
источник

RM

Roy Mustang in pro.lua
а я думал так можно делать
источник

RM

Roy Mustang in pro.lua
типа потом определить msgFunction
источник

RM

Roy Mustang in pro.lua
а как мне сделать чтоб оно не присваивала, а ссылалась
источник

RM

Roy Mustang in pro.lua
на функцию
источник

S

Snusmumriken in pro.lua
local Object = {
   Msg = function(...) msgFunction(...) end
}
источник

S

Snusmumriken in pro.lua
Таким образом оно будет в функции искать по данному имени функцию, а не присвоит сразу пустое значение.
источник

S

Snusmumriken in pro.lua
Но можно тупее.

local Object = {}

function Object.Msg()
 print("Hello")
end
источник

RM

Roy Mustang in pro.lua
Почему тупее?
источник

RM

Roy Mustang in pro.lua
Смотрится неплохо
источник

S

Snusmumriken in pro.lua
Потому что прямо и тупо, без выкрутасов.
источник

RM

Roy Mustang in pro.lua
Принцип KISS
источник

RM

Roy Mustang in pro.lua
Я так понял, в этом варианте мне вообще не надо париться с созданием local function
источник

RM

Roy Mustang in pro.lua
А достаточно просто ниже завести функцию
источник

RM

Roy Mustang in pro.lua
local Object = {
   Msg = function(...) msgFunction(...) end
}

function msgFunction(...) end
источник

S

Snusmumriken in pro.lua
Ну да )
источник

S

Snusmumriken in pro.lua
Стоп
источник

S

Snusmumriken in pro.lua
В этом случае, ты сделаешь глобальную функцию, которая закакает неймспейс. А если заведёшь
local function msgFunction(...) end ниже — оно её не найдёт ))
источник

RM

Roy Mustang in pro.lua
аа да, я опечатался, хотел локальную
источник