这可能是一个毫无希望的模糊问题.但我有兴趣听到人们在学习新概念或试图让他们的大脑围绕他们可能以前从未见过的代码时所经历的任何逻辑思维过程.
基本上,人们采取什么一般步骤来解决问题以及"获得它"需要做些什么?如果您要查看代码或尝试解决问题时心理过程如何工作的流程图?
您认为在解决问题方面有哪些常见的参考,提示和心理假设?
不同域名之间有何不同?例如,Web程序员的思维过程在哪些方面与传统桌面应用程序开发人员的流程相似或不同?
我有一个数字列表,例如21,4,7,9,12,22,17,8,2,20,23
我希望能够选出序列号序列(最少3个项目),所以从上面的例子可以看出它是7,8,9和20,21,22,23.
我玩了一些丑陋的庞大功能,但我想知道是否有一个简洁的LINQ-ish方法来做到这一点.
有什么建议?
更新:
非常感谢所有的回应,非常感谢.我现在正和他们一起玩,看看哪个最适合我们的项目.
使用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逻辑压缩成一行,这是我们最好的选择吗?
在某些语言中,你可以做到
$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.
我认为我们可以排除编写函数,因为它不会短路.条件运算符答案将对每个表达式进行两次计算.
我试图在Hilbert风格的系统中证明语句〜(a-> ~b)=> a .不幸的是,似乎不可能想出一个通用算法来找到证据,但我正在寻找一种强力型策略.关于如何攻击这个的任何想法都是受欢迎的.
我正在和某人一起玩Javascript游戏,我们很乐意制作荒谬和荒谬的表达方式,使我们的输入获得特定的输出.
这个小迷人的
!a!=!!b^!!-!a||!+!a|!c
Run Code Online (Sandbox Code Playgroud)
似乎总是回归1.我试图推理出来,但是在失去对所有!s的追踪后我放弃了.
是否有任何价值a,b以及c不回1?如果没有,为什么总是回来1?
我需要显示一些数据,如果它是 - 新数据 - 更新的数据让我们说,我将基于publishdate列和更新列这些数据,其中publishdate和updateddate都是时间戳?.那么如果它是一个新的日期,如何计算它?
我正试图深入了解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) 在通过一些代码调试的过程中,我发现我验证的一个特定部分是使用.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
有人可以解释一下吗?
正如您从其他问题中可以看到的,许多人可能已经得到了答案.你能把这些知识分享给我吗?
logic ×10
java ×2
c# ×1
c++ ×1
javascript ×1
macros ×1
math ×1
oracle ×1
php ×1
ruby ×1
sequences ×1
sql ×1
startswith ×1
string ×1
verification ×1
visual-c++ ×1