From 695f88366e507032a3a9e1eb747cc48610a4cbe1 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 17 Sep 2019 08:30:49 +0800 Subject: =?UTF-8?q?+=E5=8D=8F=E7=A8=8B=E6=B1=A0=E3=80=81=E6=9E=9A=E4=B8=BE?= =?UTF-8?q?=E3=80=81=E7=BA=BF=E7=A8=8B=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/02-enum/enum.lua | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/02-enum/enum.lua (limited to 'src/02-enum/enum.lua') 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 -- cgit v1.1-26-g67d0