问题列表 - 第39297页

即使在理解范围之后,列表理解也会重新命名.这是正确的吗?

理解与范围界定有一些意想不到的相互作用.这是预期的行为吗?

我有一个方法:

def leave_room(self, uid):
  u = self.user_by_id(uid)
  r = self.rooms[u.rid]

  other_uids = [ouid for ouid in r.users_by_id.keys() if ouid != u.uid]
  other_us = [self.user_by_id(uid) for uid in other_uids]

  r.remove_user(uid) # OOPS! uid has been re-bound by the list comprehension above

  # Interestingly, it's rebound to the last uid in the list, so the error only shows
  # up when len > 1
Run Code Online (Sandbox Code Playgroud)

冒着抱怨的风险,这是一个残酷的错误来源.当我编写新代码时,我偶尔会发现由于重新绑定而导致非常奇怪的错误 - 即使现在我知道这是一个问题.我需要制定一个规则,比如"总是用下划线列出列表推导中的临时变量",但即使这样也不是万无一失的.

这种随机定时炸弹等待的事实否定了列表理解的所有"易用性".

python binding list-comprehension

116
推荐指数
3
解决办法
1万
查看次数

C#将string转换为uint

所以,我有一个13个字符的字符串.

string str = "HELLOWORLDZZZ";
Run Code Online (Sandbox Code Playgroud)

我需要将它作为ASCII表示(十六进制)存储在一个uint变量中.我该怎么做呢?

c# string uint

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

使用.NET提供的卷影复制服务(VSS) - 可用的最佳方法/项目?

我想将VSS支持添加到我正在开发的应用程序中,唯一可用的好方法似乎是AlphaVSS,尽管它在近两年内还没有积极开发.是否有其他项目我找不到,或者是否有一种更简单的方法来访问"API"(如果你可以称之为)?

.net volume-shadow-service

5
推荐指数
1
解决办法
1589
查看次数

Chrome开发者工具中的奇怪的console.log行为

可能重复:
Chrome的JavaScript控制台是否懒于评估数组?

打开Chrome开发者工具并输入:

var a = [];console.log(a);a.push(1);console.log(a);

你会期望这会输出类似的东西

[]
[1]
Run Code Online (Sandbox Code Playgroud)

但相反,它输出

[1]
[1]
Run Code Online (Sandbox Code Playgroud)

行为是相同的

var a = [];console.log(a);a[0] = 1;console.log(a);

谁能解释这种行为?

在OS X上运行Chrome.在32位Windows 7上运行相同的行为.

编辑:无论语句是否在同一行,行为都是相同的.我只是将它们放在一行上,以便于测试.

var a = [];
console.log(a);
a.push(1);
console.log(a);
Run Code Online (Sandbox Code Playgroud)

在一个文件然后运行它会产生相同的行为.

编辑x 2如果您不想制作要测试的文件, 请参阅:http://jsfiddle.net/9N4A6/.

javascript google-chrome

12
推荐指数
1
解决办法
2364
查看次数

如何找到任何规模的井字游戏的赢家?

这是一个面试问题."你如何确定是否有人在任何规模的棋盘上赢得了一场井字游戏?" 我听说算法复杂度为O(1).是否有意义 ?任何人都可以解释算法吗?

algorithm

22
推荐指数
3
解决办法
5万
查看次数

您的Mathematica工具包里有什么?

我们都知道Mathematica很棒,但它也经常缺乏关键功能.您在Mathematica中使用哪种外部包/工具/资源?

我将编辑(并邀请任何其他人也这样做)这个主要帖子包括专注于科学研究的一般适用性的资源,并且尽可能多的人会觉得有用.随意贡献任何东西,甚至是小代码片段(正如我在下面做的时间例程).

此外,在Mathematica 7及其他您发现自己,或从一些纸张/网站挖出的无证和有用的功能是非常受欢迎的.

请提供简短描述或评论为什么有什么好东西或它提供的实用程序.如果您使用会员链接链接到亚马逊上的书籍,请提及它,例如,在链接后面加上您的姓名.


包:

  1. LevelScheme是一个大大扩展Mathematica生产美观图的能力的软件包.我使用它,如果没有其他任何东西,那么对框架/轴刻度的大大改进控制.它的最新版本称为SciDraw,它将在今年的某个时候发布.
  2. David Park's Presentation Package(50美元 - 免费更新)
  3. Jeremy Michelson的grassmannOps软件包提供了使用Grassmann变量和具有非平凡换向关系的算子进行代数和微积分的资源.
  4. 约翰·布朗(John Brown)GrassmannAlgebra与格拉斯曼(Grassmann)和克利福德代数(Clifford algebras)合作的包和书.
  5. RISC(符号计算研究所)提供各种Mathematica(和其他语言)包可供下载.特别是,有自动定理证明的Theorema,以及Algorithmic Combinatorics小组软件页面中用于符号求和,差分方程等的多个包.

工具:

  1. MASH是Daniel Reeves出色的Perl脚本,主要为Mathematica v7提供脚本支持.(现在-script可以选择使用Mathematica 8制作.)
  2. 一个alternate Mathematica shell与GNU的readline输入(使用python,*nix中只)
  3. ColourMaths包允许您直观地选择表达式的各个部分并对其进行操作.http://www.dbaileyconsultancy.co.uk/colour_maths/colour_maths.html

资源:

  1. MathSource对于各种应用程序,Wolfram自己的存储库有很多有用的缩小笔记本.另请参阅其他部分,例如

  2. 数学维基教科书.

图书:

  1. Mathematica编程: Leonid Shifrin(web,pdf)的高级介绍是必读的,如果你想在Mathematica中做更多的For循环.我们很高兴在Leonid这里回答问题.
  2. 使用Mathematica量子方法作者:James …

resources wolfram-mathematica

149
推荐指数
22
解决办法
3万
查看次数

如何使用 DOM 删除 XML 文档的根节点

我想使用 DOM api 从以下 XML 文档中删除包装器

<hs:PageWrapper>
    <div id="botton1"/>
    <div id="botton2"/>
</hs:PageWrapper>
Run Code Online (Sandbox Code Playgroud)

这样我只会将这些作为最终输出:

<div id="botton1"/>
<div id="botton2"/>
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Java中做到这一点?

java xml dom

3
推荐指数
1
解决办法
9554
查看次数

如何模拟window.document来测试以DOM为中心的JavaScript?

我正在尝试编写一些调用window.document的测试,我想自己模拟实际的调用,所以我可以无头地运行它们.不能使用以下代码:

window = {"document": ""};
document = window.document;
document.cookie = "";
document.location = {"hostname": "test.myserver.com"}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: Cannot set property window that has only a getter. in file:...
Run Code Online (Sandbox Code Playgroud)

有谁知道如何嘲笑这个?

我正在使用Jasmine和jasmine-maven-plugin,如果这有任何区别的话.

javascript testing dom unit-testing

4
推荐指数
1
解决办法
3355
查看次数

PHP自动设置数字

<?php 
    $result = mysql_query("SELECT * FROM articles WHERE tag='sports'"); 
    $strss=$strss+1;
         while ($row = mysql_fetch_array($result))
             {
         echo '<li id="nav'.$strss.'"><a href="#" >'.$row['title'].'</li>';
             }
?>
Run Code Online (Sandbox Code Playgroud)

为什么我不能自动设置号码?这个数字总是如此1

php

0
推荐指数
1
解决办法
62
查看次数

如何从Java中的100个线程一次运行10个线程?

我正在使用Java 6.

假设我创建了100个线程,每个线程完成一项任务.我想连续一次运行10个线程.这意味着如果我正在运行线程1-10,并且线程8完成,我希望能够立即启动线程11,而无需等待1-10加入.

我怎样才能做到这一点?

解决这个问题的一种方法可能是使用isAlive()方法,但我想知道如果没有轮询我是否可以这样做.

谢谢.

java multithreading

4
推荐指数
1
解决办法
3038
查看次数