如何在Lua中声明带有类型的变量
在 Lua 中是否可以创建指定类型的变量?
例如,int x = 4
如果不可能,那么是否至少有一种方式可以在变量之前显示类似“类型”的假内容,以便任何阅读代码的人都知道变量应该是什么类型?
例如,function addInt(int x=4, int y=5),但是 x/y 仍然可以是任何类型的变量?我发现在变量之前输入其类型比在函数上方放置注释更容易。
我之所以提出这个问题并不是为了将变量限制为特定的数据类型,而仅仅是为了能够在变量之前放置数据类型,无论它是否可用,让读者知道该变量应该是什么类型的,而不会出现错误。
你可以使用注释来实现:
local x = 4 -- int
function addInt(x --[[int]],
y --[[int]] )
你可以使用以下语法让另一个注释中的 a = int(5) 生效:
function int(a) return a end
function string(a) return a end
function dictionary(a) return a end
a = int(5)
b = string "hello, world!"
c = dictionary({foo = "hey"})
不过,这并没有比注释提供任何优势。
不是的。但我理解你的目标是改进阅读和编写函数调用时的理解能力。
声明参数的预期数据类型只有少许增加函数规范的作用。此外,一些函数参数是多态的,接受一个特定值、函数或表格,从中获取函数操作所需的上下文。例如,参见 string.gsub。
阅读函数调用时,调用站点唯一知道的是将要作为函数调用的变量或字段的名称(有时会被称为“函数”名称),以及传递的实际参数的表达式。将参数表达式重构为具有命名的局部变量有助于提高可读性。
编写函数调用时,函数名称是关键。形式参数的名称也有帮助。但是,名称(如类型)并不构成很大程度的规范。最有帮助的是使用嵌入结构化文档并与 IDE 结合使用的方法,利用 IDE 推断出名称的上下文并执行内容辅助和提供文档的操作。
luadoc 是这样一种文档系统。您可以为自己声明的函数编写 luadoc。
Eclipse Koneki LDT 是这样一个 IDE。由于 Lua 的动态特性,这是一个困难的问题,因此 LDT 不总是像人们希望的那样有帮助。(明确一下,LDT 不使用 luadoc;它发展出了自己的嵌入式文档系统。)

- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
唯一我能想到的方法是通过在 C 中创建一个自定义类型。
Lua 整型类型