我正在使用lua-feeds(http://code.matthewwild.co.uk/lua-feeds/)
require "lua-feeds/feeds"
local feed = feeds.open("http://php.net/feed.atom");
for _, entry in ipairs(feed) do
bot.rooms["php@conference.aqq.eu"]:send_message(entry:get_child("title"):get_text().."\n"..entry:get_child("link").attr.href);
end
这是我的代码,即获得完整的RSS。我只想获得最后的标题和链接,我该怎么做?
答案 0 :(得分:5)
我不明白@ DeadMG的答案是如何被接受的。这看起来非常错误。
ipairs
接受一个序列并在其上返回一个迭代器,因此ipairs(feed)
是源上的迭代器。在OP提供的示例中,ipairs
被调用一次。 生成的迭代器被多次调用。
@ DeadMG的想法可能只是调用迭代器一次。这就是它的样子:
local f, v, i = ipairs(feed)
local _, entry = f(v, i)
,如果你喜欢技巧:
local _, _, entry = pcall(ipairs(feed))
但是......你为什么要这样做?您将Feed作为表格。您想要该表的第一个条目:
local entry = feed[1]
完成。
答案 1 :(得分:0)
您只需拨打 ipairs(feed)
的结果