【发布时间】:2014-08-16 10:44:23
【问题描述】:
谁能告诉我为什么这不起作用?
GET_TABLE {1=ID}
key = string.format("%q", GET_TABLE[1])
RETURN_TABLE[key] = "ss"
print(RETURN_TABLE[ID])
print(GET_TABLE[1])
第一个print 结果:nil。第二个print 结果:ID
我希望第一个 print 结果是:ss
GET_TABLE {1=ID}
key = "ID"
RETURN_TABLE[key] = "ss"
print(RETURN_TABLE[ID])
print(GET_TABLE[1])
以上工作正常,所以我认为这是由于string.format 工作不正常?
【问题讨论】:
-
为什么不打印 string.format 的结果,这样你就可以看到你得到了什么,然后修复它?
-
GET_TABLE {1=ID}GET_TABLE(),并将给定的表文字作为唯一参数。您是否缺少等号,或者您是否真的调用了一个函数然后尝试对其进行索引? -
顺便说一下,在 Lua 中,表键可以是 any 类型,除了
nil,因此format可能不是您想要做的必需品。