程序设计

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


6
使用内容脚本将代码插入页面上下文
我正在学习如何创建Chrome扩展程序。我刚刚开始开发一个捕捉YouTube事件的工具。我想将其与YouTube Flash Player结合使用(稍后,我将尝试使其与HTML5兼容)。 manifest.json: { "name": "MyExtension", "version": "1.0", "description": "Gotta catch Youtube events!", "permissions": ["tabs", "http://*/*"], "content_scripts" : [{ "matches" : [ "www.youtube.com/*"], "js" : ["myScript.js"] }] } myScript.js: function state() { console.log("State Changed!"); } var player = document.getElementById("movie_player"); player.addEventListener("onStateChange", "state"); console.log("Started!"); 问题在于控制台为我提供了“开始!” ,但没有“状态已更改!”当我播放/暂停YouTube视频时。 将此代码放入控制台后,它就可以工作了。我究竟做错了什么?

16
创建一个空的data.frame
我正在尝试初始化没有任何行的data.frame。基本上,我想为每一列指定数据类型并为其命名,但因此没有创建任何行。 到目前为止,我能做的最好的事情是: df <- data.frame(Date=as.Date("01/01/2000", format="%m/%d/%Y"), File="", User="", stringsAsFactors=FALSE) df <- df[-1,] 这将创建一个data.frame,其中包含包含我想要的所有数据类型和列名的单行,而且还会创建一个无用的行,然后将其删除。 有一个更好的方法吗?
480 r  dataframe  r-faq 

18
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
在Java中,我们使用final带变量的关键字来指定其值不被更改。但是我看到您可以在类的构造函数/方法中更改值。同样,如果变量是static,则为编译错误。 这是代码: import java.util.ArrayList; import java.util.List; class Test { private final List foo; public Test() { foo = new ArrayList(); foo.add("foo"); // Modification-1 } public static void main(String[] args) { Test t = new Test(); t.foo.add("bar"); // Modification-2 System.out.println("print - " + t.foo); } } 上面的代码工作正常,没有错误。 现在将变量更改为static: private static final …
480 java  final 

12
为什么Java的String中的hashCode()使用31作为乘数?
每Java文档中,哈希代码的String对象被计算为: s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] 使用int算术,其中s[i]是 我字符串的个字符,n是字符串的长度,以及^表示取幂。 为什么将31用作乘数? 我知道乘数应该是一个相对较大的素数。那么为什么不29或37甚至97?
480 java  string  algorithm  hash 

5
如何在C ++中使用数组?
C ++从C继承了数组,几乎可以在任何地方使用它们。C ++提供更易于抽象使用和更不容易出错(std::vector<T>因为C ++ 98和std::array<T, n>自C ++ 11),因此需要对阵列不会出现相当经常,因为它在C.确实但是,当读取遗留编写代码或与用C编写的库进行交互,您应该对数组的工作原理有把握。 该常见问题解答分为五个部分: 类型级别的数组和访问元素 数组创建和初始化 分配和参数传递 多维数组和指针数组 使用数组时的常见陷阱 如果您觉得本常见问题解答中缺少重要的内容,请写一个答案并将其链接为附加部分。 在下文中,“数组”表示“ C数组”,而不是类模板std::array。假定具备C声明符语法的基本知识。请注意,面对异常,手动使用new和delete如下所述是非常危险的,但这是另一个FAQ的主题。 (注意:这本来是Stack Overflow的C ++ FAQ的一个条目。如果您想批评以这种形式提供FAQ的想法,则可以在开始所有这些操作的meta上进行发布。)该问题在C ++聊天室中进行监控,该问题最初是从FAQ想法开始的,所以提出这个想法的人很可能会读懂您的答案。)

21
为什么python在for和while循环之后使用'else'?
我了解此构造的工作原理: for i in range(10): print(i) if i == 9: print("Too big - I'm giving up!") break; else: print("Completed successfully") 但是我不明白为什么else在这里使用它作为关键字,因为这表明有问题的代码仅在for块未完成时才运行,这与它的工作相反!无论我如何考虑,我的大脑都无法从for陈述到else障碍的无缝发展。对我来说,continue还是continuewith更有意义(我正在尝试训练自己这样阅读)。 我想知道Python编码人员是如何在头脑中读取这个结构的(如果愿意,可以大声读出)。也许我缺少使这些代码块更容易理解的东西?


8
我该如何使我的比赛在vim中变得不贪心?
我有一个很大的HTML文件,其中包含很多如下所示的标记: <p class="MsoNormal" style="margin: 0in 0in 0pt;"> <span style="font-size: small; font-family: Times New Roman;">stuff here</span> </p> 我试图做一个Vim搜索并替换掉所有内容class="",style=""但是我很难使比赛变得不愉快。 我的第一次尝试是 %s/style=".*?"//g 但是Vim似乎不喜欢它?。不幸的是,删除?匹配使比赛过于贪婪。 我该如何使比赛不愉快?
479 regex  vim  regex-greedy 

14
“ git clone”到现有文件夹的最佳实践是什么?
我有该项目的工作副本,没有任何源代码控制元数据。现在,我想在此文件夹中执行与git-clone等效的操作,并保留我的本地更改。 git-clone不允许我克隆到现有文件夹。最佳做法是什么?
479 git 

26
handlebars.js {{#if}}中的逻辑运算符
handlebars JS中是否可以将逻辑运算符合并到标准handlebars.js条件运算符中?像这样: {{#if section1 || section2}} .. content {{/if}} 我知道我可以写我自己的助手,但是首先我想确保我不会重新发明轮子。

7
合并(压扁)来自另一个分支的所有更改作为一次提交
在Git中,是否有一种方法可以将所有更改从一个分支合并到另一个分支,但同时压缩到单个提交? 我经常在单独的分支中研究新功能,并且会定期提交/推送-主要用于备份或将我正在处理的内容转移到另一台计算机上。通常,那些提交会说“功能xxx WIP”或多余的内容。 工作完成后,我想将WIP分支合并回master,我想放弃所有这些中间的提交,只剩下一个干净的提交。 是否有捷径可寻? 或者,压缩一个分支后的所有提交的命令又如何呢?
479 git 




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.