gpt4 book ai didi

lua - 什么会使真正使用 Lua 变得更容易?

转载 作者:行者123 更新时间:2023-12-04 07:12:08 25 4
gpt4 key购买 nike

我喜欢 Lua,将它作为主要(非嵌入式)语言用于越来越多的项目。我目前的项目接近 10,000 行,可能会以大约 15,000 行结束。在这种规模的 Lua 中进行开发时,您发现了什么有用的东西?您遇到了什么问题,您找到了哪些解决方案?我在考虑开发工具、语言特性和技术、第三方模块?

我的前三名:

  • strict.lua - 我使用这个的修改版本。如果没有对未使用/意外变量的访问发出警报,我会发疯的。
  • 协程——不是因为它们的多线程能力,而是因为它们的可连续性。对于简化状态机的实现非常有用。
  • 序列化功能 - 对于转储表内容和将表持久化到磁盘是必不可少的(我使用了很多次,否则我可能已经使用了数据库)。

  • 我的收藏:
  • OS X 的可视化调试器。我现在正在使用 print()s,但是可以让我单步执行源文件的调试器会很棒。
  • 继续声明。使用重复...直到真正的解决方法是丑陋的,太多的嵌套 if 变得复杂而丑陋。
  • 修改现有表成员时调用的元方法。

  • 还有其他大规模 Lua 开发的技巧吗?

    最佳答案

    A continue statement. Using the repeat...until true workaround is ugly, and too many nested ifs becomes complex and ugly.



    让你的循环体成为一个函数调用;然后 return变成 continue .

    A metamethod that's invoked when an existing table member is modified.



    您可以通过使用存储表 A 的所有实际数据的代理表 B 自己实现这一点 - A 上的 newindex/index 元方法截取表 B 的写入/读取和修改/查找。由于 A 从来没有写入任何内容,所有写入都命中 newindex。

    关于lua - 什么会使真正使用 Lua 变得更容易?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3887872/

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