kir*_*uku 13 scala built-in-types
我想知道为什么不存在部分函数类型的文字.我得写
val pf: PartialFunction[Int, String] = {
case 5 => "five"
}
Run Code Online (Sandbox Code Playgroud)
字面意思:=>较短的地方:
val pf: Int :=> String = {
case 5 => "five"
}
Run Code Online (Sandbox Code Playgroud)
部分函数经常被使用并且在Scala中已经有了一些"特殊"功能,为什么没有特殊的语法呢?
Tra*_*own 20
可能部分是因为您不需要文字::=>如果您想要更简洁的语法,您可以随时将自己编写为类型中缀运算符:
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
Run Code Online (Sandbox Code Playgroud)
我不是Scala语言的设计者之一,所以这或多或少是对"为什么?"的猜测.你可能会在得到更好的答案了该scala-debate名单,这是语言设计问题,更合适的场地.
| 归档时间: |
|
| 查看次数: |
1094 次 |
| 最近记录: |