![]() |
1
10
在c中,可以通过设置flags属性的枚举执行与此非常类似的操作。
示例用法:
|
![]() |
2
5
在scala中,可以使用match语句编写以下内容
我喜欢搭配的表情。 |
![]() |
3
3
这就是使用位掩码的目的。下面是一个很好的概述(示例代码使用数据库权限作为示例) |
![]() |
4
3
我想这个有点人为的场景并不是你想要回答的,所以我要假设在其他情况下有一些价值。 在具有函数构造的语言中,可以从与条件匹配的集合中“选择”项。 红宝石:
收益率[:现金,:信贷] 在C 3中:
在我能想到的大多数语言中,如果不将变量添加到集合或字典中,就无法直接从变量绑定中执行所需的操作。可能有什么例外,但我想不出有什么例外。 在haskell、f_和ocaml这样的语言中,模式匹配可能是一个更接近的方法,但是我仍然无法找到一种使它看起来像你暗示的那样的方法。 在boo中,您可以更改编译器管道,用能满足您需要的东西替换if语句的语义。我可能会使用备用关键字,但您基本上可以提取所有子表达式,并将变量名添加到块的作用域,或者将“yes”值添加到一个集合,将“nos”添加到另一个集合,并按约定添加命名变量。为了有效地实现它,您可能必须打破短路评估的惯例,这将使大多数习惯于现代编程语言设计的人感到恼火。 |
![]() |
5
2
如果您的语言支持列表理解,则可以使用它(python中的示例):
或者,位掩码通常用于这样的任务(以及通常廉价且存在于大多数语言中):
这完全取决于你到底想做什么。 |
![]() |
6
2
我认为你的目标是这样的(如果我错了就纠正我,因为我对这里不是百分之百的确定):
我不知道有什么语言能做到这一点(至少不像我在这里所描述的那样)。正如许多其他人所提到的,位掩码和枚举常常用来解决这个问题。其他一些人用ruby、python和c发布了一些例子 可以 接近你想要的。 |
![]() |
7
1
人类语言有时使用“或”这个词来表示“异或”,这在许多语言中(包括C、C++和Java)都被表示为“异或”。
也就是说,
|
![]() |
8
1
从评论中,您似乎在问:是否有任何语言会自动为任何得到求值的if语句创建该集合? 答案是否定的。至少,不是任何现代语言(C,C,Java,Haskell,几乎任何东西)。原因是短路。假设这个if语句:
也就是说,你调用一个函数来获取每个真值。如果
对于特殊情况,在测试用例中只有一组or和变量…这是一个非常特殊的情况,如果你想要一组真实的东西,最好使用这里提出的其他一些解决方案,而不是仅仅其中任何一个是真实的。 |
![]() |
tender · 基于布尔限定符的Python熊猫if语句 7 年前 |
![]() |
user3663055 · 尽管有适当的布尔值,但代码不会打印 7 年前 |
![]() |
merko · 检查布尔值-Javascript 7 年前 |
![]() |
user6631314 · IOS/核心数据/目标-C:使用布尔值预测 7 年前 |
![]() |
user1032531 · 符号极性的自然键 7 年前 |
![]() |
Bartholomas · Python语句中的布尔逻辑 7 年前 |
![]() |
Dustin Michels · 理解字符串的真实性 7 年前 |
![]() |
user44840 · 熊猫数据帧阈值--如果超过,则保持数字固定 7 年前 |