gpt4 book ai didi

arrays - Lua的混合数组和哈希表;它存在于其他任何地方吗?

转载 作者:行者123 更新时间:2023-12-04 03:24:30 24 4
gpt4 key购买 nike

Lua 的表实现将其元素分为两部分:数组部分和散列部分。

其他语言中是否存在这样的东西?

查看 The Implementation of Lua 5.0 中的第 4 节“表格” .

Lua 5.1 Source Code - table.c

最佳答案

这个想法是 Roberto Ierusalimschy 和 Lua 团队其他成员的原创。我在 2003 年的麻省理工学院轻量级语言研讨会上听到 Roberto 谈到它,在这次谈话中,他讨论了以前的工作,并令人信服地认为这个想法是新的。我不知道从那以后是否有其他语言复制了它。

原始 awk 的语言模型比 Lua 更受限制;数字或字符串都可以用作数组中的键,但数组本身不是一等值:数组必须有名称,而数组不能用作数组中的键。

关于实现,我已经检查了由 Brian Kernighan 维护的原始 Awk 的来源,并且 Awk 的实现使用了哈希表,而不是 Lua 的混合数组/表结构。区别很重要,因为在 Lua 中,当表与连续整数键一起使用时,空间开销与 C 数组相同。对于原始的 awk,情况并非如此。

我没有费心去研究所有后来的 awk 实现,例如 Gnu Awk、mawk 等等。

关于arrays - Lua的混合数组和哈希表;它存在于其他任何地方吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2125654/

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