gpt4 book ai didi

scala - 是否有类型为 `Nothing => A` 的 Scala 函数?或者如何构建一个?

转载 作者:行者123 更新时间:2023-12-04 19:31:05 24 4
gpt4 key购买 nike

通过Curry-Howard isomorphism Scala 的 Unit 对应逻辑真,Nothing 对应逻辑假。任何东西都暗示逻辑为真这一事实可以通过一个简单的函数来证明,该函数只是丢弃参数:

def toUnit[A](x: A): Unit = { }

是否有一个函数可以证明逻辑假意味着任何东西,它是 Nothing => A 类型的函数?或者是否有一种惯用的方式来构建一个?

人总是可以做这样的事

def fromNothing[A](n: Nothing): A = throw new RuntimeException();

但这很丑陋——它没有使用 Nothing 没有值的事实。应该有一种方法可以毫无异常(exception)地做到这一点。

最佳答案

你可以这样做

def emptyFunction[A]: Nothing => A = {n => n}

def emptyFunction[A](n: Nothing): A = n

关于scala - 是否有类型为 `Nothing => A` 的 Scala 函数?或者如何构建一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13540082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com