繁体   English   中英

函数文字中的模式匹配

[英]Pattern-match in function literal

给出模式匹配的匿名函数:

val a = List((1,2), (3,4))
val c = a.map{case (x, y) => (y, x)}

有没有办法使用类似的语法实现与函数文字相同的东西?

val f = case (x,y) => (y,x)
val c = a.map(f)

比这更好的东西:

val f = (z: (Int, Int)) => {
  z match {
    case (x, y) => (y, x)
  }
}

如果您在{}中键入注释和环绕声,它会起作用:

scala> val f: (Int,Int) => (Int,Int) = { case (x, y) => (y,x) }
f: (Int, Int) => (Int, Int) = <function2>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM