小编Roh*_*hit的帖子

Akka FSM演员与藏匿和unstashing

我想用FSM Akka Acctor进行存储/取消存储.我不知道放在哪里stash()unstashAll().

我有一个简化的例子如下:

import akka.actor.{ActorSystem, FSM, Props, Stash}

trait TestState
case object StateA extends TestState
case object StateB extends TestState

case class TestData()

case class MessageA(msg: String)
case class MessageB(msg: String)
case object ChangeState

class TestFSM extends FSM[TestState, TestData] with Stash {

  startWith(StateA, TestData())

  when(StateA) {
    case Event(MessageA(msgA), _) =>
      println(s"In StateA: $msgA")
      stay()
    case Event(ChangeState, _) =>
      println("Changing state from A to B")
      goto(StateB)
  }

  when(StateB) {
    case Event(MessageB(msgB), _) =>
      println(s"In StateB: $msgB") …
Run Code Online (Sandbox Code Playgroud)

scala akka akka-fsm

4
推荐指数
1
解决办法
705
查看次数

我可以简化以下Haskell lambda吗?

我想使用组合或一些更高阶的魔法来简化以下lambda,

(\a b -> if (b) then (not a) else a)
Run Code Online (Sandbox Code Playgroud)

但我想不出一个聪明的方法.你能帮帮我吗?

谢谢.

haskell

3
推荐指数
1
解决办法
158
查看次数

标签 统计

akka ×1

akka-fsm ×1

haskell ×1

scala ×1