match的嵌套绑定

来源:互联网 发布:知乎 it桔子 编辑:程序博客网 时间:2024/06/06 01:49
scala> List((12,"23"),21,"33").map{     | case (id,p @"23") => print("1")     | case _ => print("2")     | }122res12: List[Unit] = List((), (), ())

首先List是个元组序列,id用于绑定第一个变量,p用于绑定第二个变量,而其中我们使用了@对p进行了二次绑定!这就是嵌套绑定,例如我们可以用正则在二次绑定


还有scala的match是支持备选的

scala> List((12,"33"),(22,"32")).map{     | case (id,"31" | "33") => print("...")     | case _ => print("end")     | }...endres17: List[Unit] = List((), ())


在FP中如haskell备选是很好的一个技巧

0 0
原创粉丝点击