gpt4 book ai didi

regex - 如果模式匹配,则从 lua 表中打印值

转载 作者:行者123 更新时间:2023-12-05 06:45:16 25 4
gpt4 key购买 nike

好吧,所以我最近才接触到 lua,发现自己陷入了以下困境:

我有函数 peripheral.getNames()(这是一个自定义函数)

它将返回一个具有结构键、值的表,而键始终是一个数字并从 1 开始,值将是函数找到的值(它搜索与其连接的设备)

在我的示例中,它创建了一个如下所示的表格

1 herp
2 derp
3 monitor_1
4 morederp

我可以打印以下值

local pgn = peripherals.getNames()

for key,value in pairs(pgn) do
setCursorPos(1,key)
write(value)
end
end

这将在我的显示器上输出表中键的相应值,如下所示

herp
derp
monitor_1
morederp

现在,我尝试过滤我的结果,以便它只在值包含“monitor”时打印一些内容

我试着用

for key,value in pairs(pgn) do
if string.match(value, monitor) then
#dostuff
end
end

但它总是返回“错误的参数:预期的字符串,没有得到”很明显 string.match 要么不接受“值”,要么值不是字符串所以我先尝试转换值(value)

for key,value in pairs(pgn) do
value = tostring(value)
if ....
#dostuff
end
end

还是报同样的错误

你们有没有人知道我如何让 string.match 接受“值”,或者是否有另一种方法在这个 for 循环中检查模式的“值”的内容?

最佳答案

错误消息是关于变量 monitor,它没有定义,所以有一个 nil 值。

试试 string.match(value, "monitor")

关于regex - 如果模式匹配,则从 lua 表中打印值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25252653/

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