例如这段代码:
-- Definine a function that takes a callback function as a parameter
function HelloMessage(callback)
callback("sup")
end
-- Call the function defined above passing a callback function
HelloMessage(function(message)
print(message) -- "sup" gets printed
end)
我不明白它是如何工作的。它是如何将sup传入message参数的?
HelloMessage(function(message) print(message) end)
基本上相当于
do
local callback = function(message) print(message) end
callback("sup")
end
相当于
do
local message = "sup"
print(message)
end
function(message) print(message) end
定义了一个匿名函数,该函数立即被函数参数 callback
引用,这是 HelloMessage
作用域中的局部变量。
cb_function = function( var_txt ) print("var_txt = ", var_txt ) end
function HelloMessage( callback_func )
if type( callback_func ) == "function" then --just chek is func passed
callback_func( "Print to callback function" )
end
end
HelloMessage( cb_function ) --passing call back function