我怎样从RSS中获取最新标题?

我正在使用 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。 我只想获取最后一个标题和链接,如何做到?

原文链接 https://stackoverflow.com/questions/5368823

点赞
stackoverflow用户298661
stackoverflow用户298661

你可以只调用 ipairs(feed) 的结果一次。

2011-03-20 13:41:52
stackoverflow用户204011
stackoverflow用户204011

我不明白为什么@DeadMG的回答能被接受。这在我看来非常错误。

ipairs 接受一个序列并返回其迭代器,所以 ipairs(feed) 是一个迭代器,迭代 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]

搞定。

2013-10-30 10:16:44