“Lua替代方案”;“类型”;

“Lua替代方案”;“类型”;,lua,Lua,很多时候,我需要一个变量来表示某种类型的东西,但正如您可能知道的,它也是Lua中函数的名称 什么是合适的解决方法?我想到: 无论如何都要用它。由于我几乎只使用局部值,因此类型函数不会被覆盖,但会暂时无法访问(当用作参数名称时也是一个问题) 使用同义词“type”(可能是最简单的解决方案),但我想不出什么好办法 使用大写前缀/后缀,如类型、类型或\u类型,但它与目前使用的代码样式相反 将类型函数另存为其他内容,并在最后还原它 添加对type的全局引用,例如“typeof”,以便在本地使用type时

很多时候,我需要一个变量来表示某种类型的东西,但正如您可能知道的,它也是Lua中函数的名称

什么是合适的解决方法?我想到:

  • 无论如何都要用它。由于我几乎只使用局部值,因此类型函数不会被覆盖,但会暂时无法访问(当用作参数名称时也是一个问题)
  • 使用同义词“type”(可能是最简单的解决方案),但我想不出什么好办法
  • 使用大写前缀/后缀,如
    类型
    类型
    \u类型
    ,但它与目前使用的代码样式相反
  • 将类型函数另存为其他内容,并在最后还原它
  • 添加对
    type
    的全局引用,例如“typeof”,以便在本地使用type时,我仍然可以使用typeof
  • 为type函数重新编译具有不同名称的Lua(不,谢谢!)

  • 通常我用
    kind
    这个词来达到这个目的。

    通常我用
    kind
    这个词来达到这个目的。

    通常我用
    kind
    这个词来达到这个目的。

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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


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

    这几乎不是一个问题,您已经列出了选项、优点和缺点,您可以选择更适合您需要的选项。至于第一种选择——我要补充一点,它很容易出错,总有一天你会忘记
    local
    typeof
    可能是builtin的一个好名字,因为它在其他语言中广为人知,但有经验的lua脚本编写人员可能会发现它出人意料-这实际上取决于谁将编写此脚本。您不是在寻找
    type
    的替代品。您正在创建一个新函数,它使用名称
    type
    ,解决问题的方法是基于意见的,但我的建议是简单地给您的函数取另一个名称。这不是一个问题,您已经列出了选项、优缺点,您可以选择更适合您需要的选项。至于第一种选择——我要补充一点,它很容易出错,总有一天你会忘记
    local
    typeof
    可能是builtin的一个好名字,因为它在其他语言中广为人知,但有经验的lua脚本编写人员可能会发现它出人意料-这实际上取决于谁将编写此脚本。您不是在寻找
    type
    的替代品。您正在创建一个使用名称
    type
    的新函数,它是基于如何解决问题的意见,但我的建议是简单地给您的函数取另一个名称。这几乎不是一个问题,您已经