From 0382bd8a03b82b9c154d896e819ee7fed24025eb Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 23 Sep 2019 08:00:18 +0800 Subject: =?UTF-8?q?*=E6=9E=9A=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/02-enum/enum.lua | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src/02-enum') diff --git a/src/02-enum/enum.lua b/src/02-enum/enum.lua index 9c64c1f..b0e5abd 100644 --- a/src/02-enum/enum.lua +++ b/src/02-enum/enum.lua @@ -1,24 +1,22 @@ -local function makeEnum(enumtable) - if enumtable == nil or type(enumtable) ~= "table" then +local function enum(tbl) + if tbl == nil or type(tbl) ~= "table" then return nil end - enumtable.__index = enumtable - enumtable.__newindex = function() + tbl.__index = tbl + tbl.__newindex = function() print("can not modify enum") end - local e = {} - setmetatable(e, enumtable) - return e + return setmetatable({}, tbl) end -local function main() - local mode = makeEnum({ +function main() + local mode = enum { SinglePlayer = 1, TwoPlayers= 2, ThreePlayers= 3, FourPlayers= 4, PVCom= 5, - }) + } mode.SinglePlayer = 2 print(mode.SinglePlayer) end -- cgit v1.1-26-g67d0