作为我在对象数组中的最小值/最大值的延续,我想知道滤镜与地图的性能比较.
因此,我将对代码中的值进行测试,以便查看FireBug中的结果.
这是代码:
var _vec = this.vec;
min_x = Math.min.apply(Math, _vec.filter(function(el){ return el["x"]; }));
min_y = Math.min.apply(Math, _vec.map(function(el){ return el["x"]; }));
Run Code Online (Sandbox Code Playgroud)
该mapPED版本返回正确的结果.但是filtered版本返回NaN.打破它,逐步完成并最终检查结果,看起来内部函数返回x属性,_vec但返回的实际数组filter是未过滤的_vec.
我相信我的用法filter是正确的 - 其他人可以看到我的问题吗?
这是一个简单的测试:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>S:GTC Map Test</title>
</head>
<body>
<script type="text/javascript">
function vector(x,y,z) { this.x = x; this.y =y; this.z=z; }
var vec = [];
vec.push(new vector(1,1,1));
vec.push(new vector(2,2,2));
vec.push(new vector(2,3,3));
var _vec = …Run Code Online (Sandbox Code Playgroud) 描述问题的图像http://img215.imageshack.us/img215/3725/20100314235127schedule2.jpg
问题1:获取行中第一个值的日期
问题2:获取值为100的日期
我还会附上实际的excel文件,但我只限发布1个链接.
在我的代码中,我在各种函数中出现了几次循环.举一个例子说明,它几乎与以下几行有关:
for (var i=0;i<= 5; i++) {
function1(function2(arr[i],i),$('div'+i));
$('span'+i).value = function3(arr[i]);
}
Run Code Online (Sandbox Code Playgroud)
我当然是循环计数器.为了减少我的代码大小并避免重复循环声明,我想我应该用以下代码替换它:
function loop(s) {
for (var i=0;i<= 5; i++) { eval(s); }
}
[...]
loop("function1(function2(arr[i],i),$('div'+i));$('span'+i).value = function3(arr[i]);");
Run Code Online (Sandbox Code Playgroud)
或者我应该?我已经听说过很多关于eval()减慢代码执行速度的事情,我希望即使在Nintendo DSi浏览器中它也能正常工作,但我也希望减少代码.你会建议什么?
先感谢您!
你知道Haskell中是否有指针?
如果是的话:你如何使用它们?他们有什么问题吗?为什么他们不受欢迎?
如果不是:有什么理由吗?
你可以在VS2010 RC1上使用Ninject 2.0吗?
假设我正在编写一个获取整数列表的函数,并仅返回列表中小于5.2的整数.我可能会这样做:
belowThreshold = filter (< 5.2)
Run Code Online (Sandbox Code Playgroud)
够容易吧?但是现在我想将这个函数限制为只使用类型为[Int]的输入列表,这是出于我自己的设计原因.这似乎是一个合理的要求.唉,没有.一个声明,限制类型如下:
belowThreshold :: [Integer] -> [Integer]
belowThreshold = filter (< 5.2)
Run Code Online (Sandbox Code Playgroud)
导致类型错误.那么这里的故事是什么?为什么做过滤器(<5.2)似乎将我的输入列表转换为双打?如何创建仅接受整数列表且仅返回整数列表的此函数的版本?为什么类型系统讨厌我?
我在为一个嵌套在模板中的类的异常编写catch子句时遇到问题.更具体地说,我对模板和异常有以下定义:
/** Generic stack implementation.
Accepts std::list, std::deque and std::vector
as inner container. */
template <
typename T,
template <
typename Element,
typename = std::allocator<Element>
> class Container = std::deque
>
class stack {
public:
class StackEmptyException { };
...
/** Returns value from the top of the stack.
Throws StackEmptyException when the stack is empty. */
T top() const;
...
}
Run Code Online (Sandbox Code Playgroud)
我有一个以下模板方法,我希望异常捕获:
template <typename Stack>
void testTopThrowsStackEmptyExceptionOnEmptyStack() {
Stack stack;
std::cout << "Testing top throws StackEmptyException on empty stack..."; …Run Code Online (Sandbox Code Playgroud) 我使用NSFetchedResultsController从1个月开始构建应用程序,我正在测试3.1.2 SDK上的应用程序.问题是我一直在我的应用程序中使用NSFetchedResultsController,并且正在研究SDK的3.1.2版本,现在我的客户说我应该使它与3.0版本兼容,截止日期几乎就在那里.
但每当我更改控制器处理的对象时崩溃,应用程序崩溃时会出现非常奇怪的错误.
删除节中的最后一个对象时以及当更改使对象喜欢另一个节时出现问题.
我一直在使用Dave Mark和Jeff LaMarche的"More iPhone 3 Development Tackling iPhone SDK 3"中的示例代码.我还从链接文本中添加了一些更改
以下是应用程序崩溃时控制台的示例输出.
***由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无效更新:无效的节数.包含在更新后的表视图部分的数目(1)必须更新(2)之前等于包含在表视图的部分的数量,加上或减去(2插入或删除部分的数量插入,0删除)." 2010-03-14 16:23:29.758 Instaproofs [5879:207] Stack:(807902715,7364425,807986683,811271572,815059090,815007323,211023,4363331,810589786,807635429,810579728,3620573,3620227,3614682,3609719,27337 ,810595174,807686849,807683624,839142449,839142646,814752238)
如果我知道NSFetchedResultsController是如此错误,我永远不会使用它.
所以基本上我需要我的NSFetchedResultsControllerDelegate在3.0及以上的SDK上正常工作.
如果有人帮助我弄清楚我做错了什么,那将会节省生命.
我正在编写代码,允许我的iphone-app有一个"配置页面".
一个分组,滚动,UITableView ...与包含所需textFields,开关,滑块等的单元格.
这是一个非常多的代码.有没有更简单的方法?
有没有办法我可以创建一个简单的文本文件,包含我所需的所有设计选择,并让我(可重用)代码为我构建TableView?
或者......我可以在Interface Builder而不是代码中更快/更轻松地完成整个事情吗?
我的src目录(Java,Eclipse)中有一个h2-database文件:h2test.db
问题:
从命令行启动h2.jar(以及端口8082上的h2浏览器界面),我在h2test.db中创建了2个表'test1'和'test2',我在其中放了一些数据;
当试图从java代码(JDBC)访问它们时,它会抛出"table not found exception".java代码中的"show tables"显示了一个0行的结果集.
另外,当从java代码(CREATE TABLE ...等)创建一个新表('newtest')时,我在之后启动h2.jar浏览器界面时看不到它; 只显示了其他两个表('test1'和'test2')(但随后可以从java代码访问新创建的表'newtest').
我对嵌入式数据库缺乏经验; 我相信我在这里做了一些根本错误的事情.我的假设是,我正在访问同一个文件 - 一次来自java应用程序,一次来自h2控制台 - 浏览器界面.我似乎无法理解,我在这里做错了什么?
编辑:根据要求,添加一些代码:
Java代码:
Class.forName("org.h2.Driver");
String url = "jdbc:h2:" + "db/h2test.db";
String user = "aeter";
String password = "aeter";
Connection conn = DriverManager.getConnection(url, user, password);
PreparedStatement ps2 = conn.prepareStatement("Show tables;");
ResultSet rs = ps2.executeQuery();Run Code Online (Sandbox Code Playgroud)
此结果集有0行(没有表),而不是显示2个表.
H2控制台 - 浏览器界面设置:
Settings: Generic h2(embedded) driver class: org.h2.Driver JDBC URL: jdbc:h2:../../workspace/project_name/src/db/h2test.db user name: aeter password: aeter
EDIT2:我将数据库复制到一个新文件夹.现在,新文件夹中的db文件显示为'newtest'表(来自java代码)和'test1'和'test2'表(来自控制台 - 浏览器h2接口) - 与旧数据库完全相同文件显示.因此,db文件的副本仍然存在问题.