小编Tat*_*Lua的帖子

为什么下面的Lua代码完全有效?

根据我对Lua的了解(并根据我在Lua手册中所读的内容),我一直给人的印象是Lua中的标识符仅限于AZ&az&_&digits(并且不能开始使用数字,也不能保留关键字,即local local = 123)。

现在,我遇到了一些(混淆的)Lua程序,该程序使用各种奇怪的字符作为标识符:

https://i.imgur.com/HPLKMxp.png

-- Most likely, copy+paste won't work. Download the file from https://tknk.io/7HHZ
print(_VERSION .. " " .. (jit and "JIT" or "non-JIT"))

local T = {}

T.math = T.math or {}
T.math.?»?​â®â€‹â?â®â€‹­?»?â€?‭⎭ = math.sin
T.math.â¬â€‹â­â¬â­â«â®â€­â€¬ = math.cos

for k, v in pairs(T.math) do print(k, v) end
Run Code Online (Sandbox Code Playgroud)

输出:

Lua 5.1 JIT的
“功能”:builtin#45
????? ▲功能:内建#44

我不清楚,为什么标识符允许使用这组字符?
换句话说,为什么它是一个完全有效的Lua程序?

lua luajit

2
推荐指数
1
解决办法
110
查看次数

标签 统计

lua ×1

luajit ×1