标签: logic

程序员怎么想?

这可能是一个毫无希望的模糊问题.但我有兴趣听到人们在学习新概念或试图让他们的大脑围绕他们可能以前从未见过的代码时所经历的任何逻辑思维过程.

基本上,人们采取什么一般步骤来解决问题以及"获得它"需要做些什么?如果您要查看代码或尝试解决问题时心理过程如何工作的流程图?

您认为在解决问题方面有哪些常见的参考,提示和心理假设?

不同域名之间有何不同?例如,Web程序员的思维过程在哪些方面与传统桌面应用程序开发人员的流程相似或不同?

logic

22
推荐指数
2
解决办法
5306
查看次数

检测给定列表中至少3个序列号的序列

我有一个数字列表,例如21,4,7,9,12,22,17,8,2,20,23

我希望能够选出序列号序列(最少3个项目),所以从上面的例子可以看出它是7,8,9和20,21,22,23.

我玩了一些丑陋的庞大功能,但我想知道是否有一个简洁的LINQ-ish方法来做到这一点.

有什么建议?

更新:

非常感谢所有的回应,非常感谢.我现在正和他们一起玩,看看哪个最适合我们的项目.

c# logic sequences

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

Ruby如果.. elsIf .. else在一行?

使用ruby三元运算符,我们可以为一个简单的if else构造编写以下逻辑:

a = true  ? 'a' : 'b' #=> "a"
Run Code Online (Sandbox Code Playgroud)

但是,如果我想写这个if foo 'a' elsif bar 'b' else 'c'呢?

我可以把它写成如下,但它有点难以遵循:

foo = true
a = foo  ? 'a' : (bar ? 'b' : 'c') #=> "a"

foo = false
bar = true
a = foo  ? 'a' : (bar ? 'b' : 'c') #=> "b"
Run Code Online (Sandbox Code Playgroud)

有没有更好的选择来处理这种情况,或者如果我们希望将if..elif..else逻辑压缩成一行,这是我们最好的选择吗?

ruby logic

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

PHP中是否存在短路OR,它返回最左边的值?

在某些语言中,你可以做到

$a = $b OR $c OR die("no value");

也就是说,OR将短路,仅从左到右评估值,直到找到真值.但另外,它返回已评估实际值,而不是公正值true.

在上述例子中,在PHP,$a将值1如果任一$a$b是非假值,否则会die.

所以写了一个函数first,用作

$a = first($a, $b, die("no value"));

返回任一或的.但是,它不会短路 - 它会永远.$a$bdie

ORPHP中是否有短路返回实际值?

编辑: 我给出的例子有一些很好的答案,但我想我的例子并不完全是我的意思.让我澄清一下.

$a = func1() OR func2() OR func3();

其中每个函数都执行非常强大的计算,所以我只想最多一次评估每个表达式.并且对于第一个返回真值,我希望存储实际值$a.

我认为我们可以排除编写函数,因为它不会短路.条件运算符答案将对每个表达式进行两次计算.

php logic

21
推荐指数
2
解决办法
4337
查看次数

希尔伯特系统 - 自动化证明

我试图在Hilbert风格的系统中证明语句〜(a-> ~b)=> a .不幸的是,似乎不可能想出一个通用算法来找到证据,但我正在寻找一种强力型策略.关于如何攻击这个的任何想法都是受欢迎的.

math verification logic computer-science theorem-proving

21
推荐指数
4
解决办法
4222
查看次数

可以!a!= !! b ^ !! - !a ||!+!a |!c返回1以外的其他内容?

我正在和某人一起玩Javascript游戏,我们很乐意制作荒谬和荒谬的表达方式,使我们的输入获得特定的输出.

这个小迷人的

!a!=!!b^!!-!a||!+!a|!c
Run Code Online (Sandbox Code Playgroud)

似乎总是回归1.我试图推理出来,但是在失去对所有!s的追踪后我放弃了.

是否有任何价值a,b以及c不回1?如果没有,为什么总是回来1

javascript logic

21
推荐指数
2
解决办法
633
查看次数

oracle sql的日期不迟于今天

我需要显示一些数据,如果它是 - 新数据 - 更新的数据让我们说,我将基于publishdate列和更新列这些数据,其中publishdate和updateddate都是时间戳?.那么如果它是一个新的日期,如何计算它?

sql oracle logic

21
推荐指数
2
解决办法
8万
查看次数

增量逻辑

我正试图深入了解post和pre incrementors,但是我对以下表达式有点困惑:

public static void main(String[] args) {
    int i = 0;
    i = i+=(++i + (i+=2 + --i) - ++i);
    // i = 0 + (++i + (i+=2 + --i) - ++i);
    // i = 0 + (1 + (3 + 2) - 1);
    // i = 0 + (6 - 1);
    System.out.println(i); // Prints 0 instead of 5
}
Run Code Online (Sandbox Code Playgroud)

我知道我在哪里错过了逻辑,但在哪里?

我尝试过的:

  • 从左到右(虽然我知道不推荐)
  • 从内部支架开始,从那里开始.

谢谢您的帮助

PS:评论是我的微积分的细节

编辑1

我试图将de hard编码值从表达式2改为其他东西,结果总是给出0

看看这个例子:

    int i = 0;
    i = …
Run Code Online (Sandbox Code Playgroud)

java logic pre-increment post-increment

21
推荐指数
2
解决办法
1285
查看次数

为什么Strings在Java中以""开头?

可能重复:
为什么"abcd".StartsWith("")返回true?

在通过一些代码调试的过程中,我发现我验证的一个特定部分是使用.startsWith()String类上的方法检查String是否以空白字符开头

考虑以下因素:

public static void main(String args[])
{

    String s = "Hello";
    if (s.startsWith(""))
    {
        System.out.println("It does");
    }

}
Run Code Online (Sandbox Code Playgroud)

打印出来 It does

我的问题是,为什么Strings以空白角色开始?我假设在引擎盖下Strings本质上是字符数组,但在这种情况下我会想到第一个字符H

有人可以解释一下吗?

java string logic startswith

20
推荐指数
4
解决办法
2550
查看次数

C++ __LINE__宏的类型是什么

正如您从其他问题中可以看到的,许多人可能已经得到了答案.你能把这些知识分享给我吗?

c++ macros logic visual-c++

19
推荐指数
2
解决办法
8377
查看次数