Lua setfenv 排除或包含某些方法

我想实现的是让 Player:SetDeaths 不可访问,而 Player:Deaths 可以访问。

local newgt = {print = print, player = LocalPlayer()}
setmetatable(newgt, {})
setfenv(1, newgt)
print(player:Deaths())

在上面的示例中,我可以访问 LocalPlayer() 的所有方法,但我想限制这些方法的选择

local newgt = {print = print, playerdeaths = LocalPlayer():Deaths()}
setmetatable(newgt, {})
setfenv(1, newgt)
print(playerdeaths)

这是我能找到的唯一的方法,但看起来很烦人。

点赞