LUA闭包概念演示
閉包的一個重要場景,形成一個自治的環境, 讓操作可以封閉運行,
即函數運行時有狀態的,可以從閉包創建時候的環境獨立開來。
?
例如下面的lua閉包, genFilter 其入參parmIn是 函數的內部變量,?
當genFilter被調用時候, 產生的filter閉包,由于使用了 parmIn, 而使得parmIn成為閉包的環境存在。
跟實際入參的 dtype 分離, 其改變不影響閉包變量。
local dtype = 2; local function genFilter (parmIn)local function filter()print("parmIn="..parmIn)endreturn filter end local filter = genFilter (dtype); filter(); -- output 2 dtype = 3; filter(); -- output 2 local filter1 = genFilter (dtype); filter1(); -- output 3?
總結
- 上一篇: hdu1251(统计难题)
- 下一篇: 基于heartbeatV2版本的ha-g