gpt4 book ai didi

function - Lua函数返回问题

转载 作者:行者123 更新时间:2023-12-02 06:41:38 29 4
gpt4 key购买 nike

我正在尝试用 lua 和解析一些 xml 文件我坚持这个功能:

function get_node_by_id (xml, nodeId)
for i=1, #xml, 1 do
if get_attr_by_name(xml[i], 'Id') == nodeId then
print ("TRUEEEEE", i, xml[i])
return xml[i]
else
get_node_by_id(xml[i], nodeId)
end
end
end

问题是 print("TRUEEEEE", i, xml[i]) 有效,但它在下一行返回 nil return xml[我]。我究竟做错了什么?

最佳答案

您正在递归调用该函数,但只提供一个返回值。如果你碰巧在第二层找到了你要找的节点,你只是把值返回给第一层,这对它没有任何作用。

也许你想要这样的东西(未经测试的代码):

function get_node_by_id (xml, nodeId)
for i=1, #xml, 1 do
if get_attr_by_name(xml[i], 'Id') == nodeId then
print ("TRUEEEEE", i, xml[i])
return xml[i]
else
local node = get_node_by_id(xml[i], nodeId)
if node then return node end
end
end
end

关于function - Lua函数返回问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6694644/

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