我正在使用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
Run Code Online (Sandbox Code Playgroud)
这是我的代码,即获得完整的RSS.我只想获得最后的标题和链接,我该怎么做?
我不明白@ DeadMG的答案是如何被接受的.这看起来非常错误.
ipairs接受一个序列并在其上返回一个迭代器,因此ipairs(feed)是一个遍历feed的迭代器.ipairs 是在由OP提供的示例调用一次.生成的迭代器被多次调用.
@ DeadMG的想法可能只是调用迭代器一次.这是它的样子:
local f, v, i = ipairs(feed)
local _, entry = f(v, i)
Run Code Online (Sandbox Code Playgroud)
如果你喜欢技巧:
local _, _, entry = pcall(ipairs(feed))
Run Code Online (Sandbox Code Playgroud)
但是......你为什么要那样做?您将Feed作为表格.您想要该表的第一个条目:
local entry = feed[1]
Run Code Online (Sandbox Code Playgroud)
完成.