小编tan*_*ius的帖子

什么是"P = NP?",为什么这是一个如此着名的问题?

P = NP的问题可能是所有计算机科学中最着名的问题.这是什么意思?为什么它如此有趣?

哦,为了额外的功劳,请发表声明的真相或虚假证明.:)

theory complexity-theory computer-science np-complete p-np

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

Switch语句:必须默认为最后一种情况?

请考虑以下switch声明:

switch( value )
{
  case 1:
    return 1;
  default:
    value++;
    // fall-through
  case 2:
    return value * 2;
}
Run Code Online (Sandbox Code Playgroud)

此代码编译,但它对C90/C99有效(=已定义的行为)?我从未见过默认情况不是最后一种情况的代码.

编辑:
正如Jon CageKillianDS所写:这是非常丑陋和令人困惑的代码,我很清楚它.我只对一般语法(它定义了吗?)和预期输出感兴趣.

c switch-statement

168
推荐指数
8
解决办法
10万
查看次数

Celery - 获取当前任务的任务ID

如何从任务中获取任务的task_id值?这是我的代码:

from celery.decorators import task
from django.core.cache import cache

@task
def do_job(path):
    "Performs an operation on a file"

    # ... Code to perform the operation ...

    cache.set(current_task_id, operation_results)
Run Code Online (Sandbox Code Playgroud)

我的想法是,当我创建任务的新实例时,我task_id从任务对象中检索它.然后我使用任务ID来确定任务是否已完成.我不想通过path值跟踪任务,因为文件在任务完成后被"清理",并且可能存在也可能不存在.

在上面的例子中,我将如何获得值current_task_id

python django celery

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

.Net正则表达式:字符是什么\ w?

简单的问题:c#,.net中
字符的模式是什么\w

我的第一个想法是它匹配[A-Za-z0-9_],文档告诉我:

Character class    Description          Pattern     Matches
\w                 Matches any          \w          "I", "D", "A", "1", "3"
                   word character.                  in "ID A1.3"

这不是很有帮助.
而且\w似乎也匹配äöü.还有什么?是否有更好的(确切的)定义?

.net c# regex

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

git ls-files:如何识别新文件(添加,未提交)?

我打电话git add <file>给命令后git status会给我看:

...
new file:    <file>
Run Code Online (Sandbox Code Playgroud)

不知怎的,我无法通过使用它来管理它来获取相同的信息ls-files,它(ls-files -tc在这种情况下)会告诉我:

H <commited file>
H <other commited file>
H <file>
Run Code Online (Sandbox Code Playgroud)

新文件似乎没有命令行切换.该文件被报告为缓存,这没关系,但是我怎么知道它目前没有提交?

这是可能的ls-files或一些类似的命令(我不必解析大量的输出git status)?

git

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

检测是否已接听拨出电话

一旦ACTION_NEW_OUTGOING_CALL播出,我需要捕获对方回答的以下事件.您能否就如何实现这一目标提出建议?我知道有可能因为Android拨号器应用程序在他们拿起时激动地将绿色的android图标更改为该人的照片.谢谢!

更新:我已经看过Android上处理传出呼叫的应用程序的来源.我注意到以下方法ContactsUtils:

/**
 * Kick off an intent to initiate a call.
 */

 public static void initiateCall(Context context, CharSequence
 phoneNumber) {
     Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
             Uri.fromParts("tel", phoneNumber.toString(), null));
     context.startActivity(intent); }
Run Code Online (Sandbox Code Playgroud)

我想我的回答是在听的活动中Intent.ACTION_CALL_PRIVILEGED.所以重新回答我的问题:有谁知道哪个活动处理Intent.ACTION_CALL_PRIVILEGED?先谢谢你

android telephony android-intent

51
推荐指数
2
解决办法
1万
查看次数

使用LINQ生成数字序列

我尝试编写一个LINQ语句,它返回所有可能的数字组合(我需要这个测试,我的灵感来自Eric Lippert的这篇文章).我调用的方法原型如下:

IEnumerable<Collection<int>> AllSequences( int start, int end, int size );
Run Code Online (Sandbox Code Playgroud)

规则是:

  • 所有返回的集合的长度为 size
  • 集合中的数字值必须增加
  • 应该使用start和之间的每个数字end

所以调用AllSequences( 1, 5, 3 )应该会产生10个集合,每个集合大小为3:

1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4 
2 3 5
2 4 5 
3 4 5
Run Code Online (Sandbox Code Playgroud)

现在,不知怎的,我真的很想看到纯粹的LINQ解决方案.我可以自己编写非LINQ解决方案,所以请不要在没有LINQ的情况下投入解决方案.
到目前为止,我的尝试已经结束,我必须加入一个数字与我的方法的递归调用的结果 - 如下所示:

return from i in Enumerable.Range( start, end - size + 1 )
       select BuildCollection(i, …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

为什么内部保护不比内部更严格?

我想创建一个内部自动属性:

internal bool IP { get; protected internal set; }
Run Code Online (Sandbox Code Playgroud)

我认为可以制作setter protectedprotected internal- 但我总是得到错误的accessibility修饰符必须比属性更具限制性.不是这样的吗?Private这里没有帮助我.

编辑:
问题是:如何使用内部getter和受保护的setter实现自动属性?

c# access-modifiers

31
推荐指数
4
解决办法
6374
查看次数

为什么Visual Studio使用这种奇怪的正则表达式语法

有没有理由为什么Visual Studio使用这种奇怪的语法(例如在搜索/替换对话框中)?

而不是写\s*(\w+) = new Process\(\)我必须写:b*{:a+} = new Process\(\).
我总是在努力学习这种语法 - 特别是因为普通的.NET语法是前者.

这是两种语法之间的不完全比较:

What            Visual  .NET   Comment
                Studio
----------------------------------------------------------------
Tab/Spaces      :b       \s    Either tab or space
Alphanumeric    :a       \w    ([a-zA-Z0-9])
Subexpression   {}       ()
Substitution    \n       $n    Substitutes the substring matched 
                               by a numbered subexpression.
Backreference   \n       \n    Matches the value of a numbered 
                               subexpression.
----------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见此处(Visual Studio,C#).

这有什么理由吗?这是历史性的吗?有什么优势吗?

regex syntax visual-studio-2008

29
推荐指数
3
解决办法
6578
查看次数

Pex(测试生成)真的很有用吗?

是的,可以为"Sum"或"Divide"等函数生成边界值测试.Pex是一个很好的工具.

但更多时候我们会对商业行为进行测试.让我们考虑经典Beck的tdd书中的例子:

[Test]
public void ShouldRoundOnCreation()
{
  Money money = new Money(20.678);
  Assert.AreEqual(20.68,money.Amount);
  Assert.AreEqual(2068,money.Cents);
}
Run Code Online (Sandbox Code Playgroud)

可以生成此测试吗?没有:)我项目中95%的测试检查业务逻辑,无法生成.

Pex(特别是与Moles配对)可以提供100%的代码覆盖率,但是测试套件的高代码覆盖率从未表明,代码经过了充分测试 - 它只能让所有内容都经过测试.这非常危险.

所以,问题是 - Pex真的是有用的工具吗?

.net unit-testing code-generation pex

28
推荐指数
1
解决办法
5556
查看次数