吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1026|回复: 4
收起左侧

[求助] 【lua语言】语法不熟,各位大佬帮我看看这个是什么原因

[复制链接]
LittleFlyDragon 发表于 2022-12-13 10:09
30吾爱币
使用了一个函数F
不知道函数原型是怎么样的

用一个变量接住了函数的返回值
然后打印返回值
代码如下:
x = F(0x01)
print(x)

打印结果为:
{size=9.000000 [buf]={[1]=1.000000 [2]=3.000000 [3]=4.000000 [4]=0.000000 [5]=0.000000 [6]=78.000000 [7]=70.000000 [8]=78.000000 [9]=97.000000},}

问题如下:
想问问这个是x是什么类型的 数组?表?还是什么呢
能把x的原型写出来吗,为什么print可以打印出这样格式的数据
先谢谢各位大佬了~

最佳答案

查看完整内容

print行为可以通过__tostring重载,所以x不一定是table,可以通过type函数确定x的类型。 如果x是table类型,可以打印键值对来获取原型: for k,v in pairs(x) do print(k,v) end

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

armcha1r 发表于 2022-12-13 10:09
print行为可以通过__tostring重载,所以x不一定是table,可以通过type函数确定x的类型。
如果x是table类型,可以打印键值对来获取原型:
for k,v in pairs(x) do print(k,v) end

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
LittleFlyDragon + 1 + 1 热心回复!

查看全部评分

boxer 发表于 2022-12-13 10:38
 楼主| LittleFlyDragon 发表于 2022-12-13 11:33
本帖最后由 LittleFlyDragon 于 2022-12-13 11:35 编辑
armcha1r 发表于 2022-12-13 10:27
print行为可以通过__tostring重载,所以x不一定是table,可以通过type函数确定x的类型。
如果x是table类型 ...

打印结果是:
size  9 buf={[1]=1.000000 [2]=3.000000 [3]=4.000000 [4]=0.000000 [5]=0.000000 [6]=78.000000 [7]=70.000000 [8]=78.000000 [9]=97.000000}

值得注意的是,后面的逗号没有了
armcha1r 发表于 2022-12-13 12:42
LittleFlyDragon 发表于 2022-12-13 11:33
打印结果是:
size  9 buf={[1]=1.000000 [2]=3.000000 [3]=4.000000 [4]=0.000000 [5]=0.000000 [6]=78. ...

那可能x就是一个数组结构,定义类似于
x = {
    size = 9,
    buf = {1,2,3,4}
}
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-6-9 02:14

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表