出于某种原因,我找不到任何提及如何执行此操作的教程...那么,如何从文件中读取前n行?
我想出来:
while File.open('file.txt') and count <= 3 do |f|
...
count += 1
end
end
Run Code Online (Sandbox Code Playgroud)
但它不起作用,对我来说也不是很好看.
出于好奇,我尝试过这样的事情:
File.open('file.txt').10.times do |f|
Run Code Online (Sandbox Code Playgroud)
但那也没有用.
那么,有没有一种简单的方法来读取前n行而不必加载整个文件?非常感谢你!
我目前正在使用RoR 4创建一个网站,我希望在首页上包含我博客中的RSS.但是,目前我从博客中获取所有文章,而我只需要前3个.
我对rails非常陌生,我找不到任何关于如何做这些事情的指示.
我在控制器中的当前代码是:
def index
require 'rss'
@rss = RSS::Parser.parse(open('FEED_URL').read, false)
end
Run Code Online (Sandbox Code Playgroud)
我想我可以简单地@rss在解析完第三个元素之后剪切它,但在Ruby中我觉得有点脏.有没有更好的方法呢?
非常感谢你!
我正在尝试alerts在 pjax 请求后重新加载容器。我的目标是在发出任何 pjax 请求后重新加载容器的代码,因此我不必每次都单独调用它。
我有以下代码:
$(document).on('pjax:complete', function(event) {
$.pjax.reload({container:"#alerts"});
});
Run Code Online (Sandbox Code Playgroud)
然而,这会使整个页面陷入永无休止的循环。
有没有办法让这个工作或者我不应该使用 pjax 来解决这个特定的问题?
非常感谢。
更新 以下代码有效,但我觉得这不是完美的解决方案:
var time = Date.now();
$(document).on(\'pjax:complete\' , function(event) {
if(time <= Date.now()){ //Check if there has been a recent reload
time = Date.now() + 1000;
console.log(time);
App.restartGlobalFunction();
$.pjax.reload({container:"#alerts", async:false});
}
});
Run Code Online (Sandbox Code Playgroud)