LuaLS / LuaLS/lua-language-server
@return支持多种类型
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Lua
- Estrellas
- 4.4k
- Forks
- 442
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
两个方案,大佬参考:
方案一采用语法@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语法应该留给更重要的多返回类型语法!优雅,简洁!个人愚见,仅供参考
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza revisando el análisis existente de @return y la validación del tipo de retorno del language server; después, compara ambas sintaxis propuestas con los ejemplos del issue. Se considera terminado cuando una sintaxis acordada admite varias firmas de retorno alternativas y rechaza el retorno que no coincide mostrado en el ejemplo, con cobertura del comportamiento existente separado por comas.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- lua
- Área
- tooling
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100