scala – 为什么没有部分功能类型文字?
发布时间:2020-12-16 09:12:06 所属栏目:安全 来源:网络整理
导读:我不知道为什么部分函数类型不存在文字.我必须写 val pf: PartialFunction[Int,String] = { case 5 = "five"} 其中一个字面如:=会更短: val pf: Int := String = { case 5 = "five"} 经常使用部分功能,而在Scala中已经有一些“特殊”功能,所以为什么没有特
我不知道为什么部分函数类型不存在文字.我必须写
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |