diff options
Diffstat (limited to 'src/02-enum/enum.lua')
| -rw-r--r-- | src/02-enum/enum.lua | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/02-enum/enum.lua b/src/02-enum/enum.lua new file mode 100644 index 0000000..9c64c1f --- /dev/null +++ b/src/02-enum/enum.lua @@ -0,0 +1,26 @@ +local function makeEnum(enumtable) + if enumtable == nil or type(enumtable) ~= "table" then + return nil + end + enumtable.__index = enumtable + enumtable.__newindex = function() + print("can not modify enum") + end + local e = {} + setmetatable(e, enumtable) + return e +end + +local function main() + local mode = makeEnum({ + SinglePlayer = 1, + TwoPlayers= 2, + ThreePlayers= 3, + FourPlayers= 4, + PVCom= 5, + }) + mode.SinglePlayer = 2 + print(mode.SinglePlayer) +end + +main()
\ No newline at end of file |
