diff options
Diffstat (limited to 'src/02-enum/enum.lua')
| -rw-r--r-- | src/02-enum/enum.lua | 18 |
1 files changed, 8 insertions, 10 deletions
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 |
