Open
Description
两个方案,大佬参考:
方案一采用语法@return ()|()|()
这种
---@return (string,number)|(nil, string)
local function foo()
do
return 'foo', 1 --正常
end
do
return nil, 'some error' --正常
end
do
return nil, 1 -- 此处出错
end
end
方案二,其实我觉得这种更直观,也便于书写
---@return string,number
---@return nil, string
local function foo()
do
return 'foo', 1 --正常
end
do
return nil, 'some error' --正常
end
do
return nil, 1 -- 此处出错
end
end
现在的设定,下面两种定义是等效的
---@return string,number
local function foo() end
---@return string
---@return number
local function foo() end
可见,通过逗号表达式,一条@return语句就可以表达多个值类型,多条连续的@return语法应该留给更重要的多返回类型语法!优雅,简洁!个人愚见,仅供参考