Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Types 有没有一种流行的方法来记录Lua中变量和函数参数的类型?_Types_Lua_Lint - Fatal编程技术网

Types 有没有一种流行的方法来记录Lua中变量和函数参数的类型?

Types 有没有一种流行的方法来记录Lua中变量和函数参数的类型?,types,lua,lint,Types,Lua,Lint,我正在寻找一种方法来记录Lua中的类型变量和函数参数。有办法吗?还有任何类似LINT的工具来检查这些类型吗?我不喜欢在变量名上编码类型。我更喜欢给变量提供足够明确的名称,这样它们的意图就清楚了 如果我需要更多,我会在需要时使用类型检查功能: function foo(array, callback, times) checkType( array, 'table', callback, 'function', times, 'n

我正在寻找一种方法来记录Lua中的类型变量和函数参数。有办法吗?还有任何类似LINT的工具来检查这些类型吗?

我不喜欢在变量名上编码类型。我更喜欢给变量提供足够明确的名称,这样它们的意图就清楚了

如果我需要更多,我会在需要时使用类型检查功能:

function foo(array, callback, times)
  checkType( array,    'table',
             callback, 'function',
             times,    'number' )
  -- regular body of the function foo here

end
功能
checkType
可以如下实现:

function checkType(...)
  local args = {...}
  local var, kind
  for i=1, #args, 2 do
    var = args[i]
    kind = args[i+1]
    assert(type(var) == kind, "Expected " .. tostring(var) .. " to be of type " .. tostring(kind))
  end
end

这样做的好处是在执行时正确地引发错误。如果您有测试,您自己的测试将执行LINT操作,如果类型意外,测试将失败。

我不喜欢在变量名上编码类型。我更喜欢给变量提供足够明确的名称,这样它们的意图就清楚了

如果我需要更多,我会在需要时使用类型检查功能:

function foo(array, callback, times)
  checkType( array,    'table',
             callback, 'function',
             times,    'number' )
  -- regular body of the function foo here

end
功能
checkType
可以如下实现:

function checkType(...)
  local args = {...}
  local var, kind
  for i=1, #args, 2 do
    var = args[i]
    kind = args[i+1]
    assert(type(var) == kind, "Expected " .. tostring(var) .. " to be of type " .. tostring(kind))
  end
end

这样做的好处是在执行时正确地引发错误。如果您有测试,您自己的测试将执行LINT操作,如果类型意外,测试将失败。

->代码文档部分,以及。不确定这些是否是您正在寻找的类型…->代码文档部分,以及。不确定这些是不是你要找的东西…谢谢你的回答。我意识到Lua中没有类型系统的概念:)谢谢你的回答。我意识到Lua中没有类型系统的概念:)