Lua 5.1如何实现接受可变数量参数的函数?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1143个文字,预计阅读时间需要5分钟。
在我Lua脚本中,我尝试创建一个可以接受可变数量参数的函数。据我所知,它应该像这样工作,但在TI-Nspire上的Lua+5.1中出现了错误(全局参数为nil)。我究竟做错了什么?谢谢!
在我的Lua脚本中,我试图创建一个可变数量的参数的函数。据我所知,它应该像下面这样工作,但不知何故我在TI-NSpire上的Lua 5.1中出现错误(全局参数为nil)。我究竟做错了什么?谢谢!function equation:init(...) self.equation = arg[1] self.answers = {} self.pipe = {arg[1]} self.selected = 1 -- Loop arguments to add answers. for i = 2, #arg do table.insert(self.answers, arg[i]) end end instance = equation({"x^2+8=12", -4, 4}) Luis’s answer是对的,如果比初学者更简单的语言可能希望。我会尽量详细说明一下,希望不会造成额外的混乱。
您的问题是在嵌入TI计算器的具体模型中的Lua的上下文中。因此,将会有独立的Lua的细节,但是这些细节主要涉及到您的环境中提供的库和功能。这是不寻常的(尽管Lua是开源的,可能的)嵌入式版本的Lua与其作者分发的独立Lua有很大的不同。 (Lua Binaries是许多平台的二进制存储库,Lua for Windows是一个包含电池的完整的Windows发行版)。
您的示例代码具有与计算器框架提供的类系统接口所需的详细信息的混淆因素。
本文共计1143个文字,预计阅读时间需要5分钟。
在我Lua脚本中,我尝试创建一个可以接受可变数量参数的函数。据我所知,它应该像这样工作,但在TI-Nspire上的Lua+5.1中出现了错误(全局参数为nil)。我究竟做错了什么?谢谢!
在我的Lua脚本中,我试图创建一个可变数量的参数的函数。据我所知,它应该像下面这样工作,但不知何故我在TI-NSpire上的Lua 5.1中出现错误(全局参数为nil)。我究竟做错了什么?谢谢!function equation:init(...) self.equation = arg[1] self.answers = {} self.pipe = {arg[1]} self.selected = 1 -- Loop arguments to add answers. for i = 2, #arg do table.insert(self.answers, arg[i]) end end instance = equation({"x^2+8=12", -4, 4}) Luis’s answer是对的,如果比初学者更简单的语言可能希望。我会尽量详细说明一下,希望不会造成额外的混乱。
您的问题是在嵌入TI计算器的具体模型中的Lua的上下文中。因此,将会有独立的Lua的细节,但是这些细节主要涉及到您的环境中提供的库和功能。这是不寻常的(尽管Lua是开源的,可能的)嵌入式版本的Lua与其作者分发的独立Lua有很大的不同。 (Lua Binaries是许多平台的二进制存储库,Lua for Windows是一个包含电池的完整的Windows发行版)。
您的示例代码具有与计算器框架提供的类系统接口所需的详细信息的混淆因素。

