在什么情况下我应该使用Array(Buffer)和List(Buffer).我所知道的唯一区别是数组是非变量的,列表是协变的.但是性能和其他一些特性呢?
如何创建与变量连接的正则表达式模式,如下所示:
var test ="52";
var re = new RegExp("/\b"+test+"\b/");
alert('51,52,53'.match(re));
Run Code Online (Sandbox Code Playgroud)
谢谢
在Scala 2.8.x中,添加了一个新的注释(@tailrec),如果编译器无法对带注释的方法执行尾调用优化,则会产生编译时错误.
在Clojure中是否有类似的设施loop/recur?
编辑: 在阅读我的问题的第一个答案(谢谢,Bozhidar Batsov)并进一步搜索Clojure文档后,我发现了这个问题:
(recur exprs*)
按顺序计算exprs,然后并行地将递归点的绑定重新绑定到exprs的值.如果递归点是fn方法,那么它会重新引导params.如果递归点是一个循环,那么它会重新绑定循环绑定.执行然后跳回到递归点.recur表达式必须与递归点的arity完全匹配.特别是,如果递归点是可变参数fn方法的顶部,则不会收集休息参数 - 应该传递单个seq(或null).在尾部位置以外重复是一个错误.
请注意,recur是Clojure中唯一不占用堆栈的循环结构.没有尾调用优化,并且不鼓励使用自调用来循环未知边界.recur是功能性的,它在尾部位置的使用由编译器验证 [强调是我的].
(def factorial
(fn [n]
(loop [cnt n acc 1]
(if (zero? cnt)
acc
(recur (dec cnt) (* acc cnt))))))
Run Code Online (Sandbox Code Playgroud) 嗨,我想在页面中获取所选复选框的列表,实际上我真正需要的是获取复选框旁边的元素文本,这是一个html元素<li>
,代码在下面,它不工作
这是我目前的jQuery:
$(document).ready(function () {
$('#target').click(function () {
alert("in");
var checkValues = [];
$('input[name=checkboxlist]:checked').each(function() {
alert($(this)val());
checkValues.push($(this)val());
});
});
});
Run Code Online (Sandbox Code Playgroud)
这是HTML:
<ul id="7b1fe2bd-1b26-4185-8cd9-aec10e652a70">
<li>Structured Products<input type="checkbox" name="checkboxlist"</li>
<li>Global FID
<ul>
<li>PowerPoint Presentations<input type="checkbox" name="checkboxlist"</li>
<li>Global Deck
<ul>
<li>Test1<input type="checkbox" name="checkboxlist"</li>
<li>Test2<input type="checkbox" name="checkboxlist"</li>
<li>Test3<input type="checkbox" name="checkboxlist"</li>
</ul>
<input type="checkbox" name="checkboxlist"</li>
<li>Credit Default Swaps Position
<ul>
<li>Test4<input type="checkbox" name="checkboxlist"</li>
<li>Test5<input type="checkbox" name="checkboxlist"</li>
</ul>
<input type="checkbox" name="checkboxlist"</li>
<li>Thought Leadership<input type="checkbox" name="checkboxlist"</li>
<li>Fixed Income Perspectives<input type="checkbox" name="checkboxlist"</li>
<li>Public Policy Information and …Run Code Online (Sandbox Code Playgroud) 我有两个领域:
string date1 = "04/26/10";
string date2 = "04/25/10";
Run Code Online (Sandbox Code Playgroud)
如何比较这两个字段?:
if (date2 <= date1)
{
// perform some code here
}
Run Code Online (Sandbox Code Playgroud)
这可以在没有先将字段转换为单独的日期类型变量的情况下完成吗?
编辑:我应该提到这些值来自数据库表,其中日期值以字符串格式开头.旧遗留代码......
任何人都可以解释我以下代码有什么问题吗?我尝试了不同的主机,FTPClientConfigs,它可以通过firefox/filezilla正确访问...问题是我总是得到空文件列表,没有任何异常(files.length == 0).我使用与Maven一起安装的commons-net-2.1.jar.
FTPClientConfig config = new FTPClientConfig(FTPClientConfig.SYST_L8);
FTPClient client = new FTPClient();
client.configure(config);
client.connect("c64.rulez.org");
client.login("anonymous", "anonymous");
client.enterRemotePassiveMode();
FTPFile[] files = client.listFiles();
Assert.assertTrue(files.length > 0);
Run Code Online (Sandbox Code Playgroud) 我注意到在Maven工件的JAR中,project.version属性包含在两个文件中:
META-INF/maven/${groupId}/${artifactId}/pom.properties
META-INF/maven/${groupId}/${artifactId}/pom.xml
Run Code Online (Sandbox Code Playgroud)
是否有推荐的方法在运行时读取此版本?
这是一个关于编码风格和推荐做法的问题:
正如在问题的答案中解释的那样,在构造函数中放置super()是不必要的?,如果你为一个应该使用超类中的默认(no-arg)构造函数的类编写构造函数,你可以super()在构造函数的开头调用:
public MyClass(int parm){
super(); // leaving this out makes no difference
// do stuff...
}
Run Code Online (Sandbox Code Playgroud)
但你也可以省略通话; 在两种情况下,编译器都会像super()调用一样.
那么,你是否将呼叫置于你的构造函数中?
一方面,人们可能会争辩说,包括super()使事情更明确.OTOH,我总是不喜欢编写冗余代码,所以我个人倾向于将其删除; 然而,我经常在其他人的代码中看到它.
你有什么经历?你有一种或另一种方法有问题吗?您是否有规定一种方法的编码指南?
BTW:相关问题(仅供参考):
好的我有一个程序可以创建两个管道 - >分叉 - >孩子的stdin和stdout被重定向到每个管道的一端 - >父管道连接到管道的另一端并尝试读取与子管道相关的流输出并将其打印到屏幕上(我最终还会将其写入孩子的输入).
问题是,当父级尝试fgets子级的输出流时,它只是停止并等待,直到子级死于fgets然后打印输出.如果孩子没有退出,它就会永远等待.到底是怎么回事?我想也许fgets会阻塞直到SOMETHING在流中,但是在孩子放弃文件描述符之前不会一直阻塞.
这是代码:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
FILE* fpin;
FILE* fpout;
int input_fd[2];
int output_fd[2];
pid_t pid;
int status;
char input[100];
char output[100];
char *args[] = {"/somepath/someprogram", NULL};
fgets(input, 100, stdin); // the user inputs the program name to exec
pipe(input_fd);
pipe(output_fd);
pid = fork();
if (pid == 0) {
close(input_fd[1]);
close(output_fd[0]);
dup2(input_fd[0], 0);
dup2(output_fd[1], 1);
input[strlen(input)-1] = '\0';
execvp(input, args);
} …Run Code Online (Sandbox Code Playgroud) 得到一个小问题,这段代码
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<?php
...
echo '<input name="textfield" type="text" id="textfield" value="Roger" />';
echo 'Hello, '.$_POST['textfield'].'<br>';
...
?></p>
</form>
Run Code Online (Sandbox Code Playgroud)
应该回应出"Hello,Roger",因为roger是默认值,但它只发出"Hello",而没有别的.有什么建议?
编辑:是的,有一个表格.
谢谢!
java ×3
javascript ×2
arrays ×1
c ×1
c# ×1
clojure ×1
coding-style ×1
constructor ×1
fork ×1
ftp-client ×1
jquery ×1
list ×1
maven-2 ×1
php ×1
pipe ×1
redirect ×1
redundancy ×1
regex ×1
scala ×1
stream ×1
super ×1