如何在Lua脚本中使用LuaPlus创建GUID?

4

我目前正在使用LuaPlus开发一个项目,需要使用GUID,但是在lua中找不到它们。当我为lua构建数据时,没有setGUID,只有设置数字、设置字符串等。还有一个Set()函数。有人知道从c++传递GUID到lua和从lua传递GUID到c++的正确方法吗?非常感谢。

更新:

感谢大家的回复。我很感激你们的快速反应。实际上我不会经常搜索演员表,主要是在前端加载所有内容时。然而,我可能有点过于担心,因为游戏规模比较小,演员数量也不会很多。我考虑编写一个优化后的字符串比较函数,在这个函数中,将GUID的第一个字符与测试演员进行比较。如果通过,则继续比较第二个字符,以此类推。如果失败,则转到下一个演员。我希望通过这样的优化比较,至少对于我正在开发的游戏来说,不必担心任何速度问题。相比普通的字符串比较,这听起来像一个好主意吗?

1个回答

1

GUID只有16个字节。例如,您可以将其作为16个字符传递。为什么在lua中需要GUID?


需要在Lua中使用GUID作为我们演员的标识符。 - Matthew Poole
Lua字符串是字符数组,可以包含嵌入的'\0'字符,因此您可以使用它们。 - Öö Tiib
我理解这一点,但我担心这可能会因为字符串比较而减慢游戏速度。那么 Lua 中没有 GUID 实现吗?如果正在使用 GUID,那么使用它的游戏是否只是使用 char 数组来表示 GUID? - Matthew Poole
2
如果你担心特定操作的速度,那么可以用C/C++编写并从lua中调用。通常lua用于脚本化特定事件,而不是在大量对象中进行低级别的对象搜索。 - Öö Tiib
5
Lua中的字符串比较非常快。然而,如果您需要频繁进行字符串池化操作,则可能会变慢。当您关心性能时,请编写基准测试。 - Alexander Gladysh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接