1
12
在Haskell中,很容易定义一个函数来实现这一点:
此函数接受谓词的值列表(类型为
好的一点是它不必是相等的,你可以使用任何正确类型的东西:
|
2
23
我认为大多数人认为
|
3
18
在python中,可以执行以下操作:
它被称为
|
4
13
在Perl6中,可以使用 junctions :
paren还使它在perl 5中有效(>=5.10); 在Perl6中,它们是可选的。 |
5
9
|
6
7
到目前为止,还没有人提到SQL。它有你的建议:
|
7
6
COBOL用途
例如:
范围测试包括以下内容:
我想这一切都是因为COBOL应该模仿英语 在某种程度上。 |
8
5
你会喜欢的 Perl 6 因为它有:
|
9
4
Python实际上让您能够很好地完成最后一件事:
|
10
2
用Python你可以说。。。
|
11
2
我猜语言是由习惯的力量设计的。早期的语言只有二进制比较运算符,因为它们更易于实现。每个人都习惯于说(
在大多数语言中,比较运算符返回布尔类型。如果是
在C#中,我使用以下扩展方法,以便您可以编写
|
12
2
|
13
2
在C#:
使用这些扩展:
|
14
1
您必须深入抽象层以找出原因。x86的比较/跳转指令是二进制的(因为它们可以很容易地在几个时钟周期内计算出来),这就是过去的情况。
|
15
1
我还没有看到客观的答案。这里有一个:
|
16
1
这个问题是合理的,我不认为这个变化是句法上的甜点。如果所比较的值是计算的结果,那么最好说: if (someComplicatedExpression ?== 1 : 2 : 3 : 5)
int temp; temp = someComplicatedExpression; if (temp == 1 || temp == 2 || temp == 3 || temp == 5) 特别是如果没有其他需要讨论的temp变量。一个现代的编译器可能会识别“temp”的短暂有效期并将其优化为一个寄存器,并且可能会识别“查看变量是否是某个常量之一”模式,但是允许程序员为编译器省去麻烦并没有坏处。指定的语法不会在任何现有编译器上编译,但我认为它不会比(a+b>&燃气轮机;其行为在语言规范中定义。
|
17
1
我想起了我刚开始学习编程的时候,在Basic中,我曾经写过
我的意图和你描述的一样,如果X是3或4。编译器将其解释为:
也就是说,如果X=3为真,或者如果4为真。因为它定义任何非零的事物为真,4为真,任何事物或真都为真,所以表达式总是真的。我花了很长时间才弄明白。
|
18
1
作为一个数学家,我想说颜色是原色当且仅当它是原色集合{红,绿,蓝}的一员。 这正是你在德尔斐所说的:
事实上,我经常使用这种技术。上次是三天前。实现我自己的脚本语言的解释器,我写道
然后,在几行,
问题的哲学部分@超级猫等(“至于为什么没人这么做,我不知道。”):
当然。但是如果X可以是a,B,C……中的一个,那么她将定义一个集合
你们(数学家)所写的共同点
在某个宇宙D中,具有P属性的物体,而不是书写
|
19
1
这是因为编程语言特别受数学、逻辑和集合论的影响。布尔代数定义§, ¨ 运算符的工作方式不同于自然语言。你的例子可以写为:
编辑:可以使用集合表示法简化上述语句:
事实上,一些编程语言,尤其是Pascal,包含了set,所以你可以输入:
对不起,我的英语不太好。 |
20
0
后面给出的例子是有效的语法糖,它们的计算结果必须与较长形式的代码相同,因为在某个时候,执行的代码必须依次将您的值与每个条件进行比较。
使语法更接近自然语言的主要问题是,自然语言不仅仅是模棱两可的,而且模棱两可。即使将歧义保持在最低限度,我们仍然设法在我们的应用程序中引入bug,你能想象如果你用自然英语编程会是什么样子吗?! |
21
0
方案
|
22
0
蟒蛇
|
23
0
这可以在Lua中用一些metatable魔法复制:D
注意:您可以将-smartOr-的名称改为-isEither-以使其更具可读性。 |
24
-1
|