小编Jos*_*Fox的帖子

使用JavaScript中的语法获取循环计数器/索引

警告:

问题仍然适用于for…of循环.>不要使用for…in迭代数组,用它来迭代对象的属性.那说,这个


我知道for…inJavaScript 中的基本语法如下所示:

for (var obj in myArray) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

但是如何获得循环计数器/索引

我知道我可能做的事情如下:

var i = 0;
for (var obj in myArray) {
    alert(i)
    i++
}
Run Code Online (Sandbox Code Playgroud)

甚至是好老:

for (var i = 0; i < myArray.length; i++) {
    var obj = myArray[i]
    alert(i)
}
Run Code Online (Sandbox Code Playgroud)

但我宁愿使用更简单的for-in循环.我认为它们看起来更好,更有意义.

有更简单或更优雅的方式吗?


在Python中很简单:

for i, obj in enumerate(myArray):
    print i
Run Code Online (Sandbox Code Playgroud)

javascript foreach counter for-loop

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

使用Maven复制文件的最佳做法

我有配置文件和各种文档,我想使用Maven2从开发环境复制到dev-server目录.奇怪的是,Maven在这项任务中看起来并不强大.


一些选项:

  • 在Maven中简单使用复制任务

__CODE__

  • 使用Ant插件从Ant 执行复制.

  • 构造一个zip类型的工件,以及POM的"主"工件(通常是jar类型),然后将该工件从存储库解压缩到目标目录中.

  • maven-resources插件,如下所述.

  • Maven Assembly插件 - 但是当我想简单地"按常规"做事时,这似乎需要大量的手动定义.

  • 这个页面甚至展示了如何构建一个进行复制的插件!

  • maven-upload插件,如下所述.

  • 带有副本的maven-dependency-plugin,如下所述.


所有这些看起来都是不必要的:Maven应该擅长完成这些标准任务,而不用大惊小怪.

有什么建议?

build-process maven-2 release-management maven

183
推荐指数
7
解决办法
27万
查看次数

跳过Maven中某些模块的测试

我希望我的Maven构建版能够运行大多数单元测试.但是在一个项目中有单元测试速度较慢,我想一般排除它们; 并偶尔打开它们.

问题:我该怎么做?

我知道-Dmaven.test.skip=true,但这关闭了所有单元测试.

我也知道跳过集成测试,这里描述.但我没有集成测试,只有单元测试,我没有任何显式调用maven-surefire-plugin.(我正在使用带有Eclipse-Maven插件的Maven 2).

junit build-process maven-2 unit-testing maven

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

适用于Windows的Scheme IDE

什么是适合Windows的好IDE?好的,我会承认的; 我不是RMS的级别,并且不想使用Emacs或任何基于字符的界面 - 我想要一个带有着色的图形IDE,一个REPL,以及一个特定的,有良好记录的方言的可用的在线帮助计划.我已经四处寻找,PLT Scheme/DrScheme似乎是最好的,但即使这看起来也不太复杂.

ide scheme

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

对于使用一流函数无法做到的Lisp宏,你能做些什么?

我想我理解Lisp宏及其在编译阶段的作用.

但是在Python中,您可以将函数传递给另一个函数

def f(filename, g):
  try:                                
     fh = open(filename, "rb") 
     g(fh)
  finally:
     close(fh) 
Run Code Online (Sandbox Code Playgroud)

所以,我们在这里得到懒惰的评价.我可以用宏做什么而不用函数作为第一类对象?

lisp python macros

28
推荐指数
4
解决办法
5842
查看次数

如何在没有收件人的情况下创建可在Ubuntu上运行Chrome的mailto链接?

我的HTML中有一个mailto链接.HREF是

<a href="mailto:?to=&body=AAA,&subject=BBB">MAIL</a>
Run Code Online (Sandbox Code Playgroud)

换句话说,我指的是身体和主体,但不指定收件人.

在Ubuntu的Chrome中,单击此按钮会生成一个包含错误的对话框

Unable to detect the URI-scheme of "mailto:?body.....
Run Code Online (Sandbox Code Playgroud)

请注意,Firefox会针对同一链接正确打开Thunderbird.

如何对此链接进行编码以使其有效?

Chrome 34.0.1847.137 Ubuntu 13.10

mailto ubuntu google-chrome

21
推荐指数
2
解决办法
1万
查看次数

在C++中,"throw"和"throw ex"之间有区别吗?

我想问这个问题(也在这里),但这次是关于C++的.

C++之间的区别是什么?

try { /*some code here*/}
catch(MyException& ex)
{ throw ex;} //not just throw
Run Code Online (Sandbox Code Playgroud)

try {  /*some code here*/}
catch(MyException& ex)
{ throw;} //not throw ex
Run Code Online (Sandbox Code Playgroud)

它只是在堆栈跟踪中(在C++中,在任何情况下都不是C#或Java中的标准)?

(如果它有任何区别,我使用MSVS 2008.)

c++ exception-handling

18
推荐指数
4
解决办法
5658
查看次数

用于自由文本差异的Java库

我需要匹配两个几乎相同的长自由文本字符串; 即,尽可能找到索引到索引的对应关系.

因为这是自由文本,所以比较不应该像代码差异一样基于行.

有关Java库的任何建议吗?

一个简单的例子(在现实生活中,当然,不会有额外的空格来排列,并且可能会有更复杂的挑战,比如整个条款的移动.)

The quick brown  fox jumped over the  lazy     dog.
||||||||||      |||||||||||||||||||||         |||||
The quick yellow fox jumped over the well-bred dog.
Run Code Online (Sandbox Code Playgroud)

java string comparison diff text

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

pytest 中实际和预期的正确顺序是什么?

这个问题给出了 order assertEqual(expected, actual),尽管是 unittest 包。

但是 Pycharm 和 pytest 会根据 order 打印出“Expected:...”和“Actual...” actual==expected

这令人困惑。pytest 的正确顺序是什么?源代码和在线文档就不说了。

(我还注意到 JUnit 和 TestNG 不同意这一点。)

python pytest python-unittest

16
推荐指数
2
解决办法
4154
查看次数

为什么命名空间限定的节点没有XPath语法?

XML文档中的某些节点具有名称空间,使用已定义的前缀指定.

可以在XPath 1.0中指定local-name(),因此忽略名称空间.

但是,我想让XPath的编写者使用其完整的名称空间限定名称作为标识符来查找节点.

建议的方法是在调用代码中添加名称空间声明(在我的例子中是Java).但这意味着编写Xpath的人无法使用命名空间!

我们如何使用纯XPath通过其完全限定名称查找节点?

xml xpath namespaces xml-namespaces

15
推荐指数
2
解决办法
7250
查看次数