程序设计

专业和发烧友程序员的问答

7
PHP“ foreach”实际上如何工作?
首先,我要说一下我知道它是什么foreach,做什么以及如何使用它。这个问题关系到它在引擎盖下的工作方式,我不希望出现“这就是如何用foreach” 循环数组”的答案。 很长时间以来,我一直认为该方法foreach可用于数组本身。然后,我发现许多关于它可以与数组副本一起使用的事实的引用,从那时起,我一直以为这是故事的结尾。但是我最近对此事进行了讨论,经过一番实验后发现这实际上并非100%正确。 让我表明我的意思。对于以下测试用例,我们将使用以下数组: $array = array(1, 2, 3, 4, 5); 测试用例1: foreach ($array as $item) { echo "$item\n"; $array[] = $item; } print_r($array); /* Output in loop: 1 2 3 4 5 $array after loop: 1 2 3 4 5 1 2 3 4 5 */ 这清楚地表明,我们不是直接使用源数组-否则循环将永远持续下去,因为我们在循环过程中不断将项目推入数组。但是只是为了确保是这种情况: 测试用例2: foreach …



30
$(document).ready等同于没有jQuery
我有一个使用的脚本$(document).ready,但没有使用jQuery中的其他任何脚本。我想通过删除jQuery依赖项来减轻它的负担。 如何在$(document).ready不使用jQuery的情况下实现自己的功能?我知道使用window.onload与window.onload在加载所有图像,框架等之后触发。
2015 javascript  jquery 


30
如何将package.json中的每个依赖关系更新为最新版本?
我从另一个项目复制了package.json,现在想将所有依赖项都升级到最新版本,因为这是一个新项目,如果出现问题,我不介意进行修复。 最简单的方法是什么? 我现在所知道的最好方法是npm info express version手动运行每个包,然后手动更新package.json。肯定有更好的办法。 { "name": "myproject", "description": "my node project", "version": "1.0.0", "engines": { "node": "0.8.4", "npm": "1.1.65" }, "private": true, "dependencies": { "express": "~3.0.3", // how do I get these bumped to latest? "mongodb": "~1.2.5", "underscore": "~1.4.2", "rjs": "~2.9.0", "jade": "~0.27.2", "async": "~0.1.22" } } 19年5月1日更新:六年后,我仍在维护npm-check-updates作为该问题的综合解决方案。请享用!
2009 node.js  npm 

30
如何以MS Word保留格式和语法高亮显示代码片段?
有谁知道一种在Microsoft Word文档中显示保留颜色和格式的代码的方法?优选地,该方法也将是不引人注目的并且易于更新。 我尝试将代码作为常规文本包含在内,这看起来很糟糕,并且在编辑常规文本时会遇到麻烦。我还尝试了将对象(写字板文档和文本框)插入文档,然后将代码放入这些对象中。该代码看起来更好,并且在编辑其余文本时更容易避免。但是,这些对象只能跨越一页,这在需要添加几页代码时使编辑成为一场噩梦。 最后,我知道有更好的编辑器/格式可以解决此问题,但是我仍然坚持使用MS word。
2005 ms-word 

30
如何格式化Microsoft JSON日期?
我正在使用jQuery 在Ajax上进行首次尝试。我正在将数据存储到页面上,但是为Date数据类型返回的JSON数据遇到了一些麻烦。基本上,我得到的字符串看起来像这样: /Date(1224043200000)/ 从完全不熟悉JSON的人-如何将其格式化为短日期格式?是否应该在jQuery代码中的某个地方处理?我尝试jQuery.UI.datepicker使用该插件$.datepicker.formatDate()没有成功。 仅供参考:这是我结合以下答案使用的解决方案: function getMismatch(id) { $.getJSON("Main.aspx?Callback=GetMismatch", { MismatchId: id }, function (result) { $("#AuthMerchId").text(result.AuthorizationMerchantId); $("#SttlMerchId").text(result.SettlementMerchantId); $("#CreateDate").text(formatJSONDate(Date(result.AppendDts))); $("#ExpireDate").text(formatJSONDate(Date(result.ExpiresDts))); $("#LastUpdate").text(formatJSONDate(Date(result.LastUpdateDts))); $("#LastUpdatedBy").text(result.LastUpdateNt); $("#ProcessIn").text(result.ProcessIn); } ); return false; } function formatJSONDate(jsonDate) { var newDate = dateFormat(jsonDate, "mm/dd/yyyy"); return newDate; } 该解决方案从回调方法中获取了我的对象,并使用日期格式库在页面上正确显示了日期。
1999 jquery  asp.net  ajax  json 

30
您如何断言在JUnit 4测试中抛出了某个异常?
如何惯用JUnit4来测试某些代码引发异常? 虽然我当然可以做这样的事情: @Test public void testFooThrowsIndexOutOfBoundsException() { boolean thrown = false; try { foo.doStuff(); } catch (IndexOutOfBoundsException e) { thrown = true; } assertTrue(thrown); } 我记得在这种情况下,有一个批注或一个Assert.xyz或不那么杂乱无章的JUnit东西。
1998 java  exception  junit  junit4  assert 

5
什么是复制和交换习语?
这个习语是什么,什么时候应该使用?它可以解决哪些问题?使用C ++ 11时,习惯用法会改变吗? 尽管在很多地方都提到过它,但是我们没有任何奇异的“这是什么”的问题和答案,所以就在这里。这是先前提到的地方的部分列表: 您最喜欢的C ++编码样式惯用法是什么:复制交换 在C ++中复制构造函数和=运算符重载:是否可能使用通用函数? 什么是复制省略及其如何优化复制和交换习惯 C ++:动态分配对象数组?


4
??!??!运算符在C中执行?
我看到了一行C,看起来像这样: !ErrorHasOccured() ??!??! HandleError(); 它编译正确,似乎可以正常运行。看起来它正在检查是否发生了错误,如果发生,它将进行处理。但是我不太确定它的实际作用或运行方式。看起来程序员似乎正在尝试表达他们对错误的感受。 我以前从未??!??!在任何编程语言中见过它,并且在任何地方都找不到它的文档。(Google无法帮助搜索字词,例如??!??!)。它是做什么的,代码示例如何工作?
1989 c  operators  trigraphs 

15
如何“ git clone”包括子模块?
我正在尝试将子模块放入存储库中。问题是当我克隆父仓库时,子模块文件夹完全为空。 有什么方法可以git clone parent_repo将数据实际放入子模块文件夹中吗? 例如,http://github.com/cwolves/sequelize/tree/master/lib/,nodejs-mysql-native指向在外部git的子模块,但是当我结账的sequelize项目,该文件夹为空。
1988 git  git-submodules 

15
仅当目录不存在时才如何mkdir?
我正在编写一个Shell脚本以在AIX上的KornShell(ksh)下运行。我想使用mkdir命令创建目录。但是该目录可能已经存在,在这种情况下,我不想执行任何操作。因此,我想测试一下目录是否存在,或者抑制mkdir尝试创建现有目录时抛出的“文件存在”错误。 关于如何最好地做到这一点的任何想法?
1986 shell  scripting  ksh  aix  mkdir 

27
如何从Java中的字符串值获取枚举值?
说我有一个枚举 public enum Blah { A, B, C, D } 我想找到一个字符串的枚举值,例如"A"这将是Blah.A。怎么可能做到这一点? 是Enum.valueOf()我需要的方法吗?如果是这样,我将如何使用它?
1982 java  enums 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.