0

很多时候我需要一个变量来表达某物的类型,但你可能知道它也是 Lua 中函数的名称。

什么可能是适当的解决方法?我想到了:

  1. 无论如何都要使用它。由于我几乎只使用本地值,因此类型函数不会被覆盖,但它会暂时无法访问(当用作参数名称时也是一个问题)。
  2. 使用“类型”一词的同义词(可能是最简单的解决方案),但我想不出任何好的东西。
  3. 使用大写、前缀/后缀、like或Type,但它与目前使用的代码风格背道而驰。TYPE_type
  4. 将类型函数另存为其他内容并在最后恢复它。
  5. 添加对调用的全局引用type,例如“typeof”,以便在本地使用 type 时,我仍然可以使用 typeof。
  6. 使用不同的名称重新编译 Lua 类型函数(不,谢谢!)
4

2 回答 2

2

唯一明智的选择是 #2 和 #3,选择其他选项通常是自找麻烦。

请记住,命名约定就是约定。在特殊情况下,打破约定以使代码更具可读性是一件好事。

另一方面,重载/更改/摆弄标准库名称要糟糕得多,特别是因为您这样做只是为了避免一些您不太喜欢标识符的名称。

尽管它们不被视为具有与 C 相同的强规则的保留标识符(唯一真正保留的名称是那些以下划线后跟大写字母的名称),但 Lua 标准库名称应被视为保留,除非您有非常令人信服的理由否则,尤其是在大型应用程序中。保留命名约定并不是一个令人信服的理由。

于 2013-10-10T16:44:30.317 回答
1

通常我kind为此目的使用这个词。

于 2013-10-10T10:11:39.037 回答