通过检查Ruby 1.9.3的文档,Array#<<和Array#push被设计为实现将元素附加到当前数组的末尾.但是,两者之间似乎存在微妙的差异.
我遇到的是*运算符可用于将整个其他数组的内容追加到当前数组,但只能使用#push.
a = [1,2,3]
b = [4,5,6]
a.push *b
=> [1,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)
尝试使用#<<代替它会产生各种错误,具体取决于它是否与点运算符和/或括号一起使用.
为什么#<<不像#push那样工作?一个人实际上不是另一个的别名吗?
list = [1, 2, 3]
print list.append(4) ## WRONG, print does not work, append() returns None
## RIGHT:
list.append(4)
print list ## [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
我正在学习Python,我不确定这个问题是否特定于语言以及如何在Python中实现append.
出于这个问题的目的,我们可以说我们需要append()1000个body元素对象.
你可以这样做:
for(x = 0; x < 1000; x++) {
var element = $('<div>'+x+'</div>');
$('body').append(element);
}
Run Code Online (Sandbox Code Playgroud)
这是有效的,但是对我来说似乎效率低,因为AFAIK会导致1000次文件回流.更好的解决方案是:
var elements = [];
for(x = 0; x < 1000; x++) {
var element = $('<div>'+x+'</div>');
elements.push(element);
}
$('body').append(elements);
Run Code Online (Sandbox Code Playgroud)
然而,这不是一个理想的世界,这会引发错误Could not convert JavaScript argument arg 0 [nsIDOMDocumentFragment.appendChild].我明白append()无法处理数组.
我将如何使用jQuery(我知道DocumentFragment节点,但假设我需要在元素上使用其他jQuery函数.css()),一次向DOM添加一堆对象以提高性能?
我是编程新手.在我最新的Python 2.7项目中,我遇到了以下内容:
RuntimeWarning:在long_scalars中遇到溢出
有人可以详细说明这意味着什么以及我能做些什么来解决这个问题?
代码贯穿始终,但我不确定忽略警告是否是个好主意.
它发生在追加过程中,如:
SomeList.append(VeryLongFormula)
Run Code Online (Sandbox Code Playgroud) 是否可以在java中将单个字符附加到数组或字符串的末尾
例如:
private static void /*methodName*/ () {
String character = "a"
String otherString = "helen";
//this is where i need help, i would like to make the otherString become
// helena, is there a way to do this?
}
Run Code Online (Sandbox Code Playgroud) 我有一个数字向量列表,我想将它们组合成一个向量.但我无法做到这一点.该列表可以在列表元素中具有一个共同的元素.最终的矢量不应该添加两次.这是一个例子:
>lst
`1`
[1] 1 2
`2`
[2] 2 4 5
`3`
[3] 5 9 1
Run Code Online (Sandbox Code Playgroud)
我想要最终结果
>result
[1] 1 2 4 5 9 1
Run Code Online (Sandbox Code Playgroud)
我试着做以下事情,而不用担心重复:
>vec<-vector()
>sapply(lst, append,vec)
Run Code Online (Sandbox Code Playgroud)
和
>vec<-vector()
>sapply(lst, c, vec)
Run Code Online (Sandbox Code Playgroud)
他们都没有工作.有人可以帮我吗?
谢谢.
我只是添加一个DOM上的元素,如:
$("#div_element").append('<a href="#">test</a>');
Run Code Online (Sandbox Code Playgroud)
在我追加它之后,我需要访问我刚刚创建的元素以便将click函数绑定到它,我试过:
$("#div_element").append('<a href="#">test</a>').click(function(){alert("test")});
Run Code Online (Sandbox Code Playgroud)
但上述方法无效.我可以唯一地识别元素,但这似乎有点工作,或许有一种方法,我可以在我追加它后立即获得元素.
> list1 <- list("foo", pi)
> bar <- list("A", "B")
Run Code Online (Sandbox Code Playgroud)
我怎么能新元素追加bar到list1?显然,c()不起作用,它变平bar:
> c(list1, bar)
[[1]]
[1] "foo"
[[2]]
[1] 3.141593
[[3]]
[1] "A"
[[4]]
[1] "B"
Run Code Online (Sandbox Code Playgroud)
索引作业的分配:
> list1[[length(list1)+1]] <- bar
> list1
[[1]]
[1] "foo"
[[2]]
[1] 3.141593
[[3]]
[[3]][[1]]
[1] "A"
[[3]][[2]]
[1] "B"
Run Code Online (Sandbox Code Playgroud)
这种方法的效率是多少?有更优雅的方式吗?
我有一个程序将用户写入highscore文本文件.用户在选择文件时会命名该文件playername.
如果具有该特定用户名的文件已存在,则程序应附加到该文件(以便您可以看到多个用户名highscore).如果不存在具有该用户名的文件(例如,如果用户是新用户),则应创建新文件并写入该文件.
这是相关的,迄今为止不起作用的代码:
try:
with open(player): #player is the varible storing the username input
with open(player, 'a') as highscore:
highscore.write("Username:", player)
except IOError:
with open(player + ".txt", 'w') as highscore:
highscore.write("Username:", player)
Run Code Online (Sandbox Code Playgroud)
上面的代码创建一个新文件(如果它不存在)并写入它.如果它存在,检查文件时没有附加任何内容,我没有错误.
我想在div中添加一些简单数据,如:
$('#msg').append('Some text');
Run Code Online (Sandbox Code Playgroud)
在身体里,我想我需要把html放在一边.
<div id="test">
<div id="msg"></div> //show text inside it.
</div>
Run Code Online (Sandbox Code Playgroud)
但是,我想添加一些CSS #msg.例如,背景颜色.现在的问题是,由于#msgdiv始终存在,即使未附加文本,我也会看到背景颜色.我试图添加css,如"display:none,但在那种情况下,我看不到附加到它的文本.我可以这样做,以便#msgdiv #test只在文本被附加到它内部时出现吗?谢谢.