gpt4 book ai didi

arrays - Lua gmatch 将捕获的组存储为数组

转载 作者:行者123 更新时间:2023-12-04 03:27:57 26 4
gpt4 key购买 nike

我对 Lua 比较陌生。对于 gmatch 的每个匹配项,我想将捕获组结果放入一个数组中。

我的想法是,我将每个匹配项的所有捕获组作为一个数组,这样我就可以对该数组进行操作,例如将每个捕获组转换为一个 int。

我将如何更改以下内容,以便打印 3 2 1

function split_ipv4(str)
for parts in str:gmatch('(%d%d?%d?)%.(%d%d?%d?)%.(%d%d?%d?)%.(%d%d?%d?), ') do
print(parts[4])
end
end

split_ipv4('192.168.0.3, 192.168.0.2, 192.168.0.1')

parts 更改为 p1, p2, p3, p4 并打印 p4 可以工作,但是有没有办法不为每组?

最佳答案

最简单的方法就是将parts改为p1,p2,p3,p4
但如果出现变量恐惧症:

function split_ipv4(str)
for addr in str:gmatch'%d%d?%d?%.%d%d?%d?%.%d%d?%d?%.%d%d?%d?' do
local parts = {addr:match'(%d+)%.(%d+)%.(%d+)%.(%d+)'}
print(parts[4])
end
end

split_ipv4('192.168.0.3, 192.168.0.2, 192.168.0.1')

关于arrays - Lua gmatch 将捕获的组存储为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67269682/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com