这样的文字-6ren">
gpt4 book ai didi

scala - 为什么没有部分函数类型文字?

转载 作者:行者123 更新时间:2023-12-03 23:30:34 24 4
gpt4 key购买 nike

我想知道为什么不存在部分函数类型的文字。我必须写

val pf: PartialFunction[Int, String] = {
case 5 => "five"
}

其中像 :=> 这样的文字会更短:
val pf: Int :=> String = {
case 5 => "five"
}

部分函数经常被使用并且在 Scala 中已经有一些“特殊”的特性,那么为什么没有特殊的语法呢?

最佳答案

可能部分是因为您不需要文字:您可以随时编写自己的 :=>如果您想要更简洁的语法,作为类型中缀运算符:

scala> type :=>[A, B] = PartialFunction[A, B]
defined type alias $colon$eq$greater

scala> val pf: Int :=> String = { case 5 => "five" }
pf: :=>[Int,String] = <function1>

scala> pf.isDefinedAt(0)
res0: Boolean = false

scala> pf.isDefinedAt(5)
res1: Boolean = true

不过,我不是 Scala 语言的设计者之一,所以这或多或少是对“为什么?”的猜测。您可能会在 the scala-debate list 得到更好的答案。 ,这是一个更适合语言设计问题的场所。

关于scala - 为什么没有部分函数类型文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9729931/

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