Prony001
2022-03-18 11:58
采纳率: 0%
浏览 39

LUA中如何将一个Table里面的4个索引数据赋值到另一个Table里面 4个索引里面?

我需要将Table3得到的数据根据大小不同自动赋值给Table2索引的[2][3][4][5],在LUA中如何实现?
--创建表,用于存储键盘输入完成后发送的指令
--[[**********************
--功能:      发送键盘输入的内容
--调用函数1: uart_send_data(packet)
--函数功能:  通过串口发送数据
--参数:      packet    数据,类型:表
--调用函数2: get_text(screen,control)
--函数功能:  获取控件字符串内容(字符串)
--参数:      screen:  被触发控件的页码
--            control: 控件的编号
--返回:      字符串
--调用函数3: string.len(arg)
--函数功能:  计算字符串长度
--参数:      arg:     字符串
--返回:      整数值
--调用函数4: string.byte(arg[,int])
--函数功能:  转换字符为整数值(可以指定某个字符,默认第一个字符)
--参数:      arg:     字符串
--            [,int]  索引
--返回:      整数值
--********************--]]

local send_table2={}
local send_table3={}

if screen==0 and control==5
then
    send_table2={}                                 --表2初始化
     send_table3={}                                 --表3初始化    
    send_table2[0]=0xA1                            --设置指令头,0xA1
    send_table2[1]=0x05                            --设置键盘指令
    send_table3=get_value(0,5)                  --获取文本的内容
    for i=1,4  do              
        send_table2[i+1]=send_table3
    end
    send_table2[6]=0x1A       --设置指令未,0x1A
    uart_send_data(send_table2)                    --发送指令
end
当我给Table3数据06时,Table2索引[2][3][4][5]里面 数据也是06,而我想要实现的是根据我给Table3数据不同,根据大小会自动填入Table2索引[2][3][4][5]里面,如我给Table3数据06时Table2索引[2][3][4][5]里面的[5]是06,前面[2][3][4]是00
我的解答思路和尝试过的方法
我想要实现的是根据我给Table3数据不同,根据大小会自动填入Table2索引[2][3][4][5]里面,如我给Table3数据06时Table2索引[2][3][4][5]里面的[5]是06,前面[2][3][4]是00,就是根据我给Table3数据大小不同会自动填充进Table2索引[2][3][4][5]里面.

2条回答 默认 最新

相关推荐 更多相似问题