Scala Composition
示例
局部函数通常用于定义部分的整体函数:
sealed trait SuperType
case object A extends SuperType
case object B extends SuperType
case object C extends SuperType
val pfA: PartialFunction[SuperType, Int] = {
case A => 5
}
val pfB: PartialFunction[SuperType, Int] = {
case B => 10
}
val input: Seq[SuperType] = Seq(A, B, C)
input.map(pfA orElse pfB orElse {
case _ => 15
}) //序列(5、10、15)在这种用法中,按与该orElse方法串联的顺序尝试部分功能。通常,提供与所有其余情况匹配的最终部分功能。这些功能的组合共同充当一个整体功能。
此模式通常用于分离关注点,其中函数可以有效地充当分派的代码路径的调度程序。例如,这在AkkaActor的接收方法中很常见。
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练