小编for*_*ran的帖子

darcs的图形差异

看到darcs以纯文本格式发生变化我感觉不太舒服,所以我一直在寻找一种工具来展示对变化的并排比较.

对于whatsnew我可以使用meld,但是当我需要看到已记录的更改时,它不会那么容易.我已经读过,它diffuse允许比较不同的版本,但我无法让它工作.

我试过了

diffuse -r HEAD^1 -r HEAD^2 myfile.py
Run Code Online (Sandbox Code Playgroud)

但它失败了(我认为修订命名是针对git的),那么有人知道如何看到darcs的最新变化吗?

建议其他工具完成工作(并且不需要优先设置Web服务器),这是值得欢迎的.

diff darcs visual-diff

6
推荐指数
1
解决办法
452
查看次数

在Javascript中用分隔符的单个出现(不是两次)拆分字符串

用一个例子可以更好地解释这一点.我希望实现这样的拆分:

two-separate-tokens-this--is--just--one--token-another

- >

["two", "separate", "tokens", "this--is--just--one--token", "another"]

我天真地试过str.split(/-(?!-)/),它不会匹配第一次出现的双分隔符,但它会匹配第二个(因为它后面没有分隔符):

["two", "separate", "tokens", "this-", "is-", "just-", "one-", "token", "another"]

我是否有比循环字符串更好的选择?

顺便说一下,下一步应该是将两个连续的分隔符替换为一个,所以它通过重复它来逃避分隔符...所以最终的结果是这样的:

["two", "separate", "tokens", "this-is-just-one-token", "another"]

如果只需一步即可实现,那应该真的很棒!

javascript regex split

6
推荐指数
2
解决办法
1451
查看次数

在C中运行时"内联"(种类)函数

我正在考虑一个非常JIT能够解决的典型问题,但很难用原始C进行处理.该场景设置了一系列函数指针,这些指针在运行时将被"组合"(如在数学函数组合中)然后很多次打电话.

以明显的方式执行它涉及许多虚拟调用,这是昂贵的,并且如果有足够的嵌套函数来完全填充CPU分支预测表,那么性能会大幅下降.

在像Lisp这样的语言中,我可以处理代码并用函数的实际内容替换"虚拟"调用,然后调用compile以获得优化版本,但这似乎非常hacky并且在C中容易出错,并且使用C是这个问题的要求;-)

那么,你知道在C中是否有标准,便携和安全的方法来实现这一目标吗?

干杯

c lisp jit inline metaprogramming

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

Python字典中的项目排序

我很怀疑...我创建了以下字典:

>>> alpha={'a': 10, 'b': 5, 'c': 11}
Run Code Online (Sandbox Code Playgroud)

但是,当我想看到我得到的字典键和值时:

>>> alpha
{'a': 10, 'c': 11, 'b': 5}
Run Code Online (Sandbox Code Playgroud)

看到"b"和"c"交换了他们的位置.如何使位置与创建字典时的位置相同?

python dictionary

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

Python嵌套字典查找使用默认值

>>> d2
{'egg': 3, 'ham': {'grill': 4, 'fry': 6, 'bake': 5}, 'spam': 2}
>>> d2.get('spamx',99)
99
>>> d2.get('ham')['fry']
6
Run Code Online (Sandbox Code Playgroud)

我想获得火腿里面的鱼苗值,如果没有,得到值,99或88作为第二个例子.但是怎么样?

python lookup dictionary default-value

5
推荐指数
2
解决办法
3391
查看次数

PowerMock:java.lang.IllegalAccessError:模拟java.util.ServiceLoader时的java.lang.Class

我试图在我的PowerMock测试中模拟java ServicesLoader(这是final),它似乎失败了......

重现错误的最简单的测试用例是:

import java.util.ServiceLoader;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.easymock.PowerMock;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

@RunWith(PowerMockRunner.class)
@PrepareForTest(ServiceLoader.class)
public class ServiceLoaderTest {
    @Test
    public void testServiceLoaderMock() {
        ServiceLoader mock = PowerMock.createMock(ServiceLoader.class);
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到的例外是:

-------------------------------------------------------------------------------
Test set: ServiceLoaderTest
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.407 sec <<< FAILURE!
testServiceLoaderMock(ServiceLoaderTest)  Time elapsed: 0.359 sec  <<< ERROR!
java.lang.IllegalAccessError: java.lang.Class
        at sun.reflect.GeneratedSerializationConstructorAccessor8.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at org.objenesis.instantiator.sun.SunReflectionFactoryInstantiator.newInstance(SunReflectionFactoryInstantiator.java:56)
        at org.powermock.reflect.internal.WhiteboxImpl.newInstance(WhiteboxImpl.java:257)
        at org.powermock.reflect.Whitebox.newInstance(Whitebox.java:139)
        at org.powermock.core.DefaultFieldValueGenerator.instantiateFieldType(DefaultFieldValueGenerator.java:74)
        at org.powermock.core.DefaultFieldValueGenerator.fillWithDefaultValues(DefaultFieldValueGenerator.java:51) …
Run Code Online (Sandbox Code Playgroud)

java testing static final powermock

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

Python 中用于存储键值对的类与字典

我需要定义一些键值参数来配置类的行为。我的要求有两个:

  • 能够以编程方式处理它们
  • 能够进行更具体的配置来覆盖某些值。

第一个要求的自然方法是使用 a dict(这样我就可以用循环遍历键、值或项目for),但对于第二个要求,使用类层次结构并让属性查找机制来执行以下操作似乎更合适工作(另外我还得到了其他好处,比如能够使用某些值的属性)。

有没有办法两全其美?


阅读评论后,它不需要是可变的(我不会更改已创建实例的值),它只是用于静态配置。但我可能需要在更具体的实例中添加新值。

我想最后我可以只使用dict.copy+dict.update来表示特定的实例(我可以在没有属性的情况下生活)。

python inheritance dictionary class

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

命名算法反模式

当线性解决时,我有问题要回忆二次复杂性做某事的名称.

例如,使用get-by-index函数迭代链表而不是仅使用a next-element是此反模式的典型情况.

我认为这是一个"画画家",作为画一条道路的家伙的隐喻,但并没有随身携带油漆桶,每次需要重新填充刷子时都必须回到起点.

干杯.

complexity-theory naming anti-patterns

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

如何知道 ELF 需要哪些动态库?

是否有任何工具可以读取头文件来打印 Linux 可执行文件运行所需的动态库的名称?

我需要它知道我刚刚从源代码(它是 GDB 的 Python 分支)构建的二进制文件中是否有一些奇怪的依赖项(即不是很标准),或者它主要是静态链接的。我认为这比阅读 makefile 更容易......

dll header elf

3
推荐指数
2
解决办法
2610
查看次数

伪装单元测试的构造函数

我有一组在实例化时具有依赖关系的类,也就是说,在创建类型A的对象时,它还创建另一个类型B,随后创建其他类型为C的类,等等.

对于测试问题,我不需要所有级别的全部功能来测试上层,所以我可以使用存根或模拟,但是因为我new在构造函数中有明确的,所以除了更改之外我看不到直接的方法代码使用AbstractFactory并提供一个在测试时创建假货的代码.

那么,是否有任何"黑魔法"方法来破解Java类加载器,以便在实例化对象时创建虚假测试类而不是正常测试类new

谢谢!

java unit-testing design-patterns

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