gpt4 book ai didi

LUA:无法理解 a.x 和 a[x] 之间的区别

转载 作者:行者123 更新时间:2023-12-05 09:03:54 25 4
gpt4 key购买 nike

正如 Lua 手册所说,该语言的新手会陷入认为 a.x 和 a[x] 相似多于不同的陷阱。我是那些新手中的一员,哈哈哈。

为什么 a.x 在这里给出 nil,但是 a[x] 给出 10 而 a.x 给出 nil?

a ={}

x = "y"

a[x] = 10

print(a[x]) --gives 10 for "y"

print(a.x) --gives nil for "x"

print(a.y) --give 10 for "y"

老实说,我觉得我理解为什么上面的代码有效,但我真的很想知道——从概念上——为什么:

invitems = {}

name = string.lower(name)

invitems[name] = "weapon"

print(invitems[name]) ----> gives weapon

print(invitems.name) ----> gives nil

print(invitems.string.lower(name)) ----> gives weapon

最佳答案

a[x] 是更基本的索引结构。 a.xa['x'] 的语法糖。所以在a[x]中,x是一个变量名。在a.x中,x是一个文字串,与变量x无关。

关于LUA:无法理解 a.x 和 a[x] 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69458543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com