布尔值意味着另一个

问题描述 投票:0回答:2

有没有一种编程语言可以让我们写这样的东西:

a => b

计算蕴涵? (其中

a
b
是布尔值)

我能找到的最接近的是 Scala:

a <= b

但看起来与“暗示”的实际含义完全不同。

boolean logic truthtable
2个回答
0
投票

所以获胜者是 Scala:

implicit class BooleanMagic(val b: Boolean) extends AnyVal {
  def ==>(other: =>Boolean) = !b || other
}

感谢:

> true ==> false
res0: Boolean = false

> false ==> (throw new Exception("I'm the president"))
res1: Boolean = true

0
投票

支持此功能的另一种语言是 Groovy(从版本 5.0.0-alpha-4 开始):

groovy:000> true ==> false
===> false
groovy:000> false ==> { throw new Exception('Boom!') }()
===> true
© www.soinside.com 2019 - 2024. All rights reserved.