You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Lua中用一条语句定义布尔键的稀疏数组?

Lua单语句定义布尔值为键的表

你原来通过多语句定义布尔值为键的表是正确的:

local Bool = {} 
Bool [false]='OFF' 
Bool [true]='ON'

但直接写local Bool = {false='OFF', true='ON'}不行,因为Lua会把这里的false和true当成字符串键(即"false"和"true"),而不是布尔值本身。

要在单语句里完成定义,需要用方括号把布尔值键括起来,让Lua解析为表达式求值后的键:

local Bool = {[false] = 'OFF', [true] = 'ON'}

原理很简单:Lua表构造器中,只有合法标识符(比如符合变量命名规则的字符串)才能直接作为键省略方括号,像布尔值这类非标识符类型的键,必须用[键]的形式明确指定,这样才会把括号内的值作为真正的键。

内容的提问来源于stack exchange,提问作者Rohit Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 13:30:00