小编swa*_*jak的帖子

检查是否已调用clearInterval?

鉴于此代码:

bob = setInterval(function, 1000);
clearInterval(bob);
Run Code Online (Sandbox Code Playgroud)

现在有办法知道该间隔是否已被清除?

目前,我通过取消' bob'来跟踪这个问题,但是如果我的额外代码行是不必要的,我很好奇:

clearInterval(bob);
bob = null;
if (!bob) itIsCleared();
Run Code Online (Sandbox Code Playgroud)

谢谢!

javascript settimeout intervals setinterval

34
推荐指数
3
解决办法
3万
查看次数

用C++处理简单但大型文件的有效方法

我正在开展一个项目,让我在性能方面略胜一筹.我的任务是读取大(50MB左右)的粒子坐标文件并显示它们.我想使用C++,因为我已经在学习它了.

文件中的坐标结构很简单,只有很多(比如一百万左右):

1234.5667 5234.1566 //coordinate 1  
8532.6123 5152.6612 //coordinate 2  
....
Run Code Online (Sandbox Code Playgroud)

作为一个菜鸟,我只想逐行阅读文件并将它们存储在向量中,这是错的吗?也许我应该首先读取整个文件(缓冲?),然后解析值?

工作范例:

clock_t c1 = clock();
vector<double> coords;
double coord;
ifstream fin("file.txt");
while(fin >> coord) {
    coords.push_back(coord);
}
cout << "done. " << coords.size()/2 << " coords read.\n";
cout << "took " << (clock() - c1)/(double)CLOCKS_PER_SEC << " seconds." << endl;
Run Code Online (Sandbox Code Playgroud)

并在具有200万坐标的40MB文件上输出相应的输出:

done. 2000000 coords read.
took 1.74 seconds.
Run Code Online (Sandbox Code Playgroud)

这在我看来很快,但我认为我的思想不是一个好的判断.

c++

8
推荐指数
1
解决办法
6581
查看次数

Rails:在已经左手连接的桌子上急切加载?

我们已经离开了一个表,以便我们可以按列排序,如果存在关系:

people = Person
  .joins("LEFT JOIN addresses ON addresses.id = people.address_id")
  .order("addresses.country")
  .all
Run Code Online (Sandbox Code Playgroud)

这导致单个SQL查询,但我不想people.first.address触发SQL来加载地址.我是离开加入的,因为有些人没有地址.

.includes(:address) 触发单独的查询.

您可以使用内部联接来执行我所建议的操作includes,但是会触发2个SQL查询:

Person.includes(:address).all
Run Code Online (Sandbox Code Playgroud)

虽然joins+ includes只触发一个(但INNER联接):

Person.joins(:address).includes(:address).all
Run Code Online (Sandbox Code Playgroud)

如果在急切加载时强制加入,则活动记录也会使用左联接 .eager_load(:addresses).

您是否可以采用现有的左连接并使用这些结果加载轨道?到目前为止我找不到这个.

activerecord ruby-on-rails ruby-on-rails-4 rails-activerecord

8
推荐指数
1
解决办法
543
查看次数

在Java中,这被认为是"嵌套IF语句"的一个例子吗?

在这里,我们有一个长期的假设,需要在脑海中清除.以下是嵌套'if'语句的示例:

if (...)
  ...;
else if (...)
  ...;
Run Code Online (Sandbox Code Playgroud)

我的印象是嵌套需要一个'if'在另一个'if'里面,就像这样:

if (...)
  if (...)
    ...;
Run Code Online (Sandbox Code Playgroud)

当你在其他内部嵌套时,或至少明确区分范围,如下所示:

if (...)
  ...;
else { //if the next statement didn't 
       //exist, then the curly brace changes nothing?
  ...;
  if (...)
    ...;
}
Run Code Online (Sandbox Code Playgroud)

这可以归结为编译器如何解释事物,是否将else-ifs中的'if'视为与父if的相同级别,或者它们是否创建"new"'if'语句.感谢您的时间!

编辑:我问,因为我是一个java实验室的TA,当天的主题是嵌套-ifs.最后,我发现老师认为我的第一个例子对"嵌套if语句"有效.

java if-statement nested

6
推荐指数
3
解决办法
2万
查看次数

让Google Chrome忽略IE Javascript

我正在使用javascript来创建幻灯片,以淡化图像.一段时间后,我发现要更改图像的不透明度,我必须使用不同的API,具体取决于页面是在Firefox还是IE中查看.

火狐:

img.style.opacity = [value 0 to 1];
Run Code Online (Sandbox Code Playgroud)

IE:

img.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity= [value 0 to 100] )";
Run Code Online (Sandbox Code Playgroud)

所以,目前,我使用<script LANGUAGE="JScript">的是用于IE的代码.Mozilla文档中提出了这一点.

问题是:Chrome认为我的<script LANGUAGE="JScript">代码有效,而不是.

如何让Chrome忽略里面的代码<script LANGUAGE="JScript">?或者如何使我的不透明代码跨浏览器?

javascript internet-explorer google-chrome

0
推荐指数
1
解决办法
1096
查看次数