首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据给定给函数Lua的变量选择要写入的数组

根据给定给函数Lua的变量选择要写入的数组
EN

Stack Overflow用户
提问于 2015-12-10 08:53:09
回答 2查看 59关注 0票数 1

我试图运行以下代码:

代码语言:javascript
运行
AI代码解释
复制
function calcs.grps(Number,ion_color)
    grp .. ion_color .. Y[Number] = (ion_py_mm)
    grp .. ion_color .. Z[Number] = (ion_pz_mm)
end

在Lua脚本中,数组已经存在(例如grp2Y、grp5Z等),我想使用这个函数根据输入的两个变量填充它们。我不断地得到错误'.‘’。我做错了什么?

使它具体化一点:

我在模拟中“飞行”120个离子。这实际上是由10个离子组成的12组。10的单个组由ion_color来区分,它是一个从1到12的整数值。变量'Number‘在进入下一个颜色之前每一次只循环1到10次。一旦我填充了这些数组,我就想得到每个组的标准偏差。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-10 09:12:59

您不能“构造”变量的名称,但是可以构造一个索引。使用两个层次的嵌套表。

代码语言:javascript
运行
AI代码解释
复制
function calcs.grps(Number,ion_color)
    ion['grp' .. ion_color .. 'Y'][Number] = (ion_py_mm)
    ion['grp' .. ion_color .. 'Z'][Number] = (ion_pz_mm)
end

嗯,实际上可以,因为所有全局变量都只是_G表中的条目,但是不要这样做,因为它是坏的-它是不可读的,会使东西溢出到其他您不打算做的函数,等等。

票数 3
EN

Stack Overflow用户

发布于 2015-12-10 11:39:03

对您的问题的技术回答是简单地索引_G,_G是一个包含所有全局变量的表:

代码语言:javascript
运行
AI代码解释
复制
function calcs.grps(Number,ion_color)
    _G['grp' .. ion_color .. Y'][Number] = (ion_py_mm)
    _G['grp' .. ion_color .. 'Z'][Number] = (ion_pz_mm)
end

但我想更好的问题是你为什么不这样组织..。

代码语言:javascript
运行
AI代码解释
复制
local ions = {
    Red = {
        {
            Y = 0, --Y property
            Z = 0 --Z property
        },
        --Continue your red ions
    },
    NewColor = {
            Y = 0, --Y property
            Z = 0 --Z property
        },
        --Continue this color's ions
    },
    --You get the idea
}

function calcs.grps(color, number)
    ions[color][number].Y = (ion_py_mm)
    ions[color][number].Z = (ion_pz_mm)
end

然后,您将传递一个颜色,以及一个指示该颜色的哪个离子的数字。

看上去干净多了,海事组织。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34207455

复制
相关文章
lua文件写入
mode 作用 r 读,文件不存在则报错 w 写,若文件存在则覆盖重写,若文件不存在则新建 a 写,若文件不存在,则新建;如果文件存在,则在文件尾追加要写的内容 r+ 读写,文件不存在则报错 w+ 读写,若文件存在则覆盖重写,若文件不存在则新建 a+ 读写,若文件不存在,则新建;如果文件存在,则在文件尾追加要写的内容 b 以二进制模式打开文件 file=io.open("/test.txt","r") io.input(file)-- 设置默认输入文件 print(io.read()) io.close(
司夜
2023/03/31
2.3K0
(十)给数组变量添加类型
# 给数组变量添加类型 # 隐式写法 ts 隐式推断出的类型是 let nums: number[] 这样意思就是定义完以后数组里面的元素就必须使用 number, 后面就不可以修改了 let nums = [1, 2, 3] # 显式写法 let nums: number[] = [1, 2, 3] # 使用构造函数的写法(泛型) let nums: Array<number> = [1, 2, 3] # 对象数组合用 interface Product { title: string,
老怪兽
2023/02/22
7310
1.3-Air302(NB-IOT)-新建lua文件和lua文件的变量,函数调用
2.建一个名字为 load_file.lua   (XXXX.lua)XXXX随意
杨奉武
2020/09/19
7410
【工具】如何根据变量类型选择数据分析方法?
面对大量数据,你将如何开展数据分析?您会选择什么样的数据分析方法呢?您是否看着数据感到迷茫,无所适从。认真读完这篇文章,或许你将有所收获。 把握两个关键 1、抓住业务问题不放松。您费大力气收集数据的动机是什么?你想解决什么问题?这是核心,是方向,这是业务把握层面。 2、全面理解数据。哪些变量,什么类型?适合或者可以用什么统计方法,这是数据分析技术层面。须把握三大关键:变量、数据分析方法、变量和方法的关联。 认识变量 认识数据分析方法 选择合适的数据分析方法是非常重要的。选择数据分析(统计分析)方法时
小莹莹
2018/04/19
1.2K0
【工具】如何根据变量类型选择数据分析方法?
lua--数据类型、变量、循环、函数、运算符的使用
lua是一种轻量级脚本语言,由c语言编写,设计lua的初衷是为了:嵌入到应用程序中,提供灵活的扩展和定制化功能 lua官网:https://www.lua.org/ 可以从中下载安装lua
aruba
2022/06/22
1.4K0
lua--数据类型、变量、循环、函数、运算符的使用
Lua中的函数式编程
最近在用Lua实现Websocket协议时,碰到了一个直击我的思维惯性的弱点的Bug。代码大约如下(实际实现较为复杂,比如还支持wss协议,因此定位到问题也着实花费了一些功夫,毕竟GC的执行是异步的.):
重归混沌
2020/04/26
1.3K0
Lua的OS库时间函数
time = os.time()返回一个标准的number(数值)格式的时间值,这也是最原始的时间值 os.time()返回的时间是以秒为单位的。
bering
2020/08/28
9.5K0
教程 | 如何为单变量模型选择最佳的回归函数
选自FreeCodeCamp 作者:Björn Hartmann 机器之心编译 参与:李诗萌、刘晓坤 本文介绍了为单变量模型选择回归函数时需要参考的重要指标,有助于快速调整参数和评估回归模型的性能。
机器之心
2018/05/11
1.4K0
lua文件写入 - 乐享诚美
司夜
2023/10/18
1720
【lua菜鸟③】变量和循环
{lua的特点:①不需要分号结尾,但是支持分号啊,如果一行写多个语句就用它啊②没有花括号③函数也不需要声明类型,却和c++的语法极其类似}
福贵
2018/07/25
1.8K0
【lua菜鸟③】变量和循环
lua时间函数
特殊说明: 解决问题的光鲜,藏着磕Bug的痛苦。 万物皆入轮回,谁也躲不掉! 以上文章,均是我实际操作,写出来的笔记资料,不会出现全文盗用别人文章!烦请各位,请勿直接盗用!
收心
2022/01/19
6400
根据输入数组的整数值返回数组 {inputScoreRet[0],inputSocreRet[1]}
根据输入数组的整数值 intputArr1{1,1,3} inputArr2{13,3,4} * 如果inputArr1[0]==inputArr2[0] inputArrRet1Score get 0 socre inputSCoreRet[0]+=0; * 如果 inputArr1[1]>inputArr2[1] inputArrRet1Score get 1 score inplutScoreRet[0]+=1; * 否则 inputScoreRet[1]+=1; * 返回数组 {inputScoreRet[0],inputSocreRet[1]} * constraints: * 1<=a[i]<=100 * 1<=b[i]<=100
coderlwz
2023/10/17
3340
map排序,根据key给map排序,根据value给map排序
1-------Franch 2-------Canada 3-------China
IT云清
2019/01/22
1.7K0
jquery根据属性选择
有信仰的人不会孤独。——阿列克谢耶维奇 分享一个jquery选择器的小技巧 我们可以通过自定义属性键值选中一个元素 例如如下元素: <div ruben="vampire">阿超</div> 然后我们通过ruben=vampire选中这个div 就可以如下写法: let vampire = $('div[ruben="vampire"]') 我们可以简单测试一下输出里面的内容 <div ruben="vampire">阿超</div> <script type="text/javascript">
阿超
2022/08/17
2K0
jquery根据属性选择
根据不同的业务场景,选择合适的锁?
锁可以解决并行执行任务执行过程中对,共享数据顺序访问、修改的场景。比如对同一个账户进行并行扣款或者转账。下面我们展开讨论下 synchronized 、ReetranLock 以及他们的使用。
没有故事的陈师傅
2023/05/01
6380
根据不同的业务场景,选择合适的锁?
前端框架最新的选择——根据MVVM的San
工欲善其事,必先利其器。 在 MVVM 早已被引入 Web 前端应用开发的今天,其实我们已经有了一些选择,有了一些应用开发的利器。它们的代表就是 Vuejs,React, angular。它们都致力于提升开发效率,希望帮开发者做更多的事,通过诸如声明式的绑定,便可通过框架完成视图层的自动化 , 使得业务开发者可以有更多的精力,重新聚焦业务实现的关注点,回归应用开发的本质。 什么是业务开发的本质呢?其实就是把业务抽象后设计的数据结构和算法。 这是昨天从 npm trends 里截的一张 (angular.
企鹅号小编
2018/02/12
1.6K0
前端框架最新的选择——根据MVVM的San
点击加载更多

相似问题

需要将Lua函数赋值给变量

11

将Lua函数赋值给Nginx变量

11

给Lua中的全局变量赋值函数

13

根据指定给另一个函数的变量运行不同的函数

30

根据变量选择数组

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档