如何从RSS获取最后一个标题?
我正在使用lua提要()如何从RSS获取最后一个标题?,rss,lua,Rss,Lua,我正在使用lua提要() 这是我的代码,可以得到完整的RSS。我只想得到最后一个标题和链接,我该怎么做?你可以只调用一次ipairs(feed)的结果。我不明白@DeadMG的答案是如何被接受的。在我看来,这是大错特错 ipairs获取一个序列并返回其上的迭代器,因此ipairs(提要)是提要上的迭代器ipairs被调用一次。生成的迭代器被调用多次 @DeadMG的想法可能是只调用迭代器一次。这就是它的样子: local f, v, i = ipairs(feed) local _, entry
这是我的代码,可以得到完整的RSS。我只想得到最后一个标题和链接,我该怎么做?你可以只调用一次
ipairs(feed)
的结果。我不明白@DeadMG的答案是如何被接受的。在我看来,这是大错特错
ipairs
获取一个序列并返回其上的迭代器,因此ipairs(提要)
是提要上的迭代器<在OP提供的示例中,code>ipairs被调用一次。生成的迭代器被调用多次
@DeadMG的想法可能是只调用迭代器一次。这就是它的样子:
local f, v, i = ipairs(feed)
local _, entry = f(v, i)
当然,如果你喜欢技巧:
local _, _, entry = pcall(ipairs(feed))
但是。。。你为什么要那样做?你把饲料当作一张桌子。您需要该表的第一个条目:
local entry = feed[1]
完成。@10分钟邮件:嗯,
本地结果=ipairs(feed)
?嗯,我不明白,这个答案是怎么被接受的ipairs(提要)
返回提要上的迭代器,这不是您想要的。你可能只是想要feed[1]
…(有人在推特上问我,所以我添加了一个真实的答案。)是的,你是对的。我通常不直接处理迭代器,因此我从未详细考虑过它。如果feed
是一个表,那么最后一个条目位于feed[#feed]
@lhf,这取决于您对“last”的定义。按时间顺序,提要中的最后一个(即最近的)条目是feed[1]
@catwell,当然,对了!顺便说一下,如果你在回复中@me,我不会得到通知。而且,并不是我否决了你或其他什么,但答案通常不应该花时间在其他答案上,或者解释他们为什么错了。
local entry = feed[1]