当前位置:  开发笔记 > 编程语言 > 正文

Lua中使用了大括号吗?

如何解决《Lua中使用了大括号吗?》经验,为你挑选了1个好方法。

如果在Lua中使用大括号('{'和'}'),它们用于什么?



1> RBerteig..:

表格文字.

该表是Lua中的中心类型,可以视为关联数组(哈希表或字典)或普通数组.键可以是任何Lua类型的值,除了nil,并且表的元素可以包含任何值,除了nil.

数组成员访问比后台的哈希密钥访问更有效,但细节通常并不重要.这实际上使得处理稀疏数组变得很方便,因为只需要为那些包含值的单元分配存储空间.

这确实导致了一个通用的基于1的数组习惯用法,这对C程序员来说有点奇怪.

例如

a = { 1, 2, 3 }

创建一个存储在变量中的数组,其中a包含三个元素(巧合)具有与其索引相同的值.因为元素存储在以1开头的连续索引中,所以a(由#a或给出table.getn(a))的长度为3.

使用非整数键初始化表可以这样做:

b = { one=1, pi=3.14, ["half pi"]=1.57, [function() return 17 end]=42 }

其中b将有名为"one","pi","half pi"和匿名函数的条目.当然,在不迭代表的情况下查找最后一个元素可能会很棘手,除非该函数的副本存储在其他变量中.

花括号出现的另一个地方实际上是相同的语义含义,但它隐藏了(对于Lua的新用户)一些语法糖.编写一个应该是表的单个参数的函数是很常见的.在这种情况下,调用该函数不需要使用括号.这导致代码似乎包含混合,()并且{}两者显然都用作函数调用运算符.

btn = iup.button{title="ok"}

相当于

btn = iup.button({title="ok"})

但眼睛也不那么难.顺便说一下,使用文字值调用单参数函数也适用于字符串文字.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有