如何将序列化-反序列化Lua表的操作描述成一个长尾?

2026-04-01 19:201阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计417个文字,预计阅读时间需要2分钟。

如何将序列化-反序列化Lua表的操作描述成一个长尾?

我可能误解了这个问题,但我会尽量简短地改写以下内容:

我可能弄错了,但有没有内置方法将Lua表序列化/反序列化为文本文件?反序列化自然也包括在内。我有一个方法,可以在具有固定格式的Lua表上执行此操作(例如,3列数据,5行)。有没有方法在任意格式上执行这种操作?

我可能错过了这个,但有没有内置的方法将lua表序列化/反序列化为文本文件,反之亦然?

我有一对方法来在具有固定格式的lua表上执行此操作(例如,3列数据,5行).

有没有办法在任何格式的lua表上执行此操作?

举个例子,给出这个lua表:

如何将序列化-反序列化Lua表的操作描述成一个长尾?

local scenes={ {name="scnSplash", obj={ { name="bg", type="background", path="scnSplash_bg.png", }, { name="bird", type="image", path="scnSplash_bird.png", x=0, y=682, }, } }, }

它将被转换为这样的文本:

{name="scnSplash",obj={{name="bg",type="background",path="scnSplash_bg.png",},{name="bird", type="image",path="scnSplash_bird.png",x=0,y=682,}},}

只要文本字符串可以反序列化为空的lua表,就可以以任何方式定义序列化文本的格式.

我不确定为什么JSON库被标记为正确答案,因为它似乎在序列化“任意格式的lua表”时非常有限.它不将boolean / table / function值作为键处理,也不处理循环引用.共享引用未序列化为共享引用,并且math.huge值未在Windows上正确序列化.我意识到其中大多数都是JSON限制(因此在库中以这种方式实现),但这被提议作为通用Lua表序列化的解决方案(事实并非如此).

通过使用TableSerialization页面或我的Serpent serializer and pretty-printer中的一个实现,可以更好.

本文共计417个文字,预计阅读时间需要2分钟。

如何将序列化-反序列化Lua表的操作描述成一个长尾?

我可能误解了这个问题,但我会尽量简短地改写以下内容:

我可能弄错了,但有没有内置方法将Lua表序列化/反序列化为文本文件?反序列化自然也包括在内。我有一个方法,可以在具有固定格式的Lua表上执行此操作(例如,3列数据,5行)。有没有方法在任意格式上执行这种操作?

我可能错过了这个,但有没有内置的方法将lua表序列化/反序列化为文本文件,反之亦然?

我有一对方法来在具有固定格式的lua表上执行此操作(例如,3列数据,5行).

有没有办法在任何格式的lua表上执行此操作?

举个例子,给出这个lua表:

如何将序列化-反序列化Lua表的操作描述成一个长尾?

local scenes={ {name="scnSplash", obj={ { name="bg", type="background", path="scnSplash_bg.png", }, { name="bird", type="image", path="scnSplash_bird.png", x=0, y=682, }, } }, }

它将被转换为这样的文本:

{name="scnSplash",obj={{name="bg",type="background",path="scnSplash_bg.png",},{name="bird", type="image",path="scnSplash_bird.png",x=0,y=682,}},}

只要文本字符串可以反序列化为空的lua表,就可以以任何方式定义序列化文本的格式.

我不确定为什么JSON库被标记为正确答案,因为它似乎在序列化“任意格式的lua表”时非常有限.它不将boolean / table / function值作为键处理,也不处理循环引用.共享引用未序列化为共享引用,并且math.huge值未在Windows上正确序列化.我意识到其中大多数都是JSON限制(因此在库中以这种方式实现),但这被提议作为通用Lua表序列化的解决方案(事实并非如此).

通过使用TableSerialization页面或我的Serpent serializer and pretty-printer中的一个实现,可以更好.