Lua表-具有相同键的两个条目

克里斯蒂安

我不确定如何,但是我们设法用两个键完全相同的方式创建了一个表。当执行表的for循环pairs并打印键和值时,我们得到:

1    true
1    true

并且我们认为可能是不同类型的问题,所以我们决定将其转换为json(我们使用Corona SDK和内部json模块)。

结果非常惊人:

"ourTable" : { "1" : true, "1" : true }

我们将其存储在文件中以检查值,以及的两个十六进制值"1"are 31

因此,另一项测试:将json转换为lua表,并获得与以前相同的结果:具有相同键的两个条目。

我以前从未见过这样的事情,老实说,我不知道如何检测和预防这种情况。我们已经使用lua和corona已有好几年了,这是我们第一次检测到类似的东西,但是有可能是以前发生的,但我们没有检测到。这可能会导致难以置信的混乱结果。

Corona SDK正在使用Lua 5.1。

我们将此表json编码存储在文件中。重新启动应用程序后,该文件再次加载,并且仅包含一个条目!现在...该表仅包含“ id”和boolean,这两个值完全相同,但是我想知道如果这些值不同,将会发生什么?现在我想到了无数种情况。

我无法重现此问题,但是我们可以做什么:

  1. 用json读取文件
  2. 将json解码成lua表
  3. 简单地在表中添加/更新条目 tab[key] = value
  4. 保存存档

编辑:好的,现在重现问题:

local d = {true} 
d["1"]=true 
for k,v in pairs(d) do 
    print(k,v) 
end


1   true
1   true
克里斯蒂安

实际上,在我添加了重现该问题的方法之后,很明显发生了什么。桌子变得一团糟。

当我这样做时:

for k,v in pairs(d) do 
    print(k,v, type(k)) 
end

这一切都说得通:

1   true    number
1   true    string

现在,我们唯一的问题是将json模块Corona SDK更改1"1"字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取具有相同表的两个外键的表的结果

来自分类Dev

如何在Lua中检查两个表(对象)是否具有相同的值

来自分类Dev

nim两个具有泛型的键表

来自分类Dev

具有两个外键的表之间的关系

来自分类Dev

具有相同表的两个内部联接

来自分类Dev

查询以比较具有相同结构的两个表?

来自分类Dev

从具有相同列的两个表中选择

来自分类Dev

具有两个外键的两个表之间的Laravel关系

来自分类Dev

SQL合并两个表,其中两个列具有相同的值

来自分类Dev

从lua的一个输入表输出两个表,第一个输出表将具有所有键,第二个将具有输入表的所有值

来自分类Dev

比较两个具有相同列名但具有汇总的表

来自分类Dev

MYSQL合并具有不同条目记录数的两个表的视图

来自分类Dev

如何从两个具有相同列的现有表创建新的配置单元表

来自分类Dev

连接两个表并在两个不同的行中产生具有相同值的表

来自分类Dev

具有两个外键的表来自一个主键

来自分类Dev

MySQL数据库在一个表中具有两个外键

来自分类Dev

在具有两个外键(php)的一个表中插入数据

来自分类Dev

在Oracle中没有相同键的情况下联接两个表

来自分类Dev

flask-sqlalchemy中两个具有两个外键的表之间的关系

来自分类Dev

具有两个联结表的表的主键/外键

来自分类Dev

选择表中具有两个以上匹配组合键的所有行

来自分类Dev

如何使两个查询中的两个结果(具有相同的列)显示在单个查询表中

来自分类Dev

如何使两个查询中的两个结果(具有相同的列)显示在单个查询表中

来自分类Dev

从具有公共列的两个表中选择所有 - 相同的列名

来自分类Dev

使用相同的组合键联接两个表

来自分类Dev

如何将值插入具有外键关系的两个表中?

来自分类Dev

SQL DDL:具有两个外键的递归表(MySQL)

来自分类Dev

使用休眠从具有两个外键的表中检索数据

来自分类Dev

内连接两个表在彼此的外键上具有空值

Related 相关文章

  1. 1

    获取具有相同表的两个外键的表的结果

  2. 2

    如何在Lua中检查两个表(对象)是否具有相同的值

  3. 3

    nim两个具有泛型的键表

  4. 4

    具有两个外键的表之间的关系

  5. 5

    具有相同表的两个内部联接

  6. 6

    查询以比较具有相同结构的两个表?

  7. 7

    从具有相同列的两个表中选择

  8. 8

    具有两个外键的两个表之间的Laravel关系

  9. 9

    SQL合并两个表,其中两个列具有相同的值

  10. 10

    从lua的一个输入表输出两个表,第一个输出表将具有所有键,第二个将具有输入表的所有值

  11. 11

    比较两个具有相同列名但具有汇总的表

  12. 12

    MYSQL合并具有不同条目记录数的两个表的视图

  13. 13

    如何从两个具有相同列的现有表创建新的配置单元表

  14. 14

    连接两个表并在两个不同的行中产生具有相同值的表

  15. 15

    具有两个外键的表来自一个主键

  16. 16

    MySQL数据库在一个表中具有两个外键

  17. 17

    在具有两个外键(php)的一个表中插入数据

  18. 18

    在Oracle中没有相同键的情况下联接两个表

  19. 19

    flask-sqlalchemy中两个具有两个外键的表之间的关系

  20. 20

    具有两个联结表的表的主键/外键

  21. 21

    选择表中具有两个以上匹配组合键的所有行

  22. 22

    如何使两个查询中的两个结果(具有相同的列)显示在单个查询表中

  23. 23

    如何使两个查询中的两个结果(具有相同的列)显示在单个查询表中

  24. 24

    从具有公共列的两个表中选择所有 - 相同的列名

  25. 25

    使用相同的组合键联接两个表

  26. 26

    如何将值插入具有外键关系的两个表中?

  27. 27

    SQL DDL:具有两个外键的递归表(MySQL)

  28. 28

    使用休眠从具有两个外键的表中检索数据

  29. 29

    内连接两个表在彼此的外键上具有空值

热门标签

归档