=act #3572 Add parens to sender
* because it is not referentially transparent; normally we reserved parens for side-effecting code but given how people thoughtlessly close over it we revised that that decision for sender * caller can still omit parens
This commit is contained in:
parent
537840bd2a
commit
a11fb1dafc
202 changed files with 631 additions and 620 deletions
|
|
@ -10,16 +10,16 @@ class CalculatorActor extends Actor {
|
|||
def receive = {
|
||||
case Add(n1, n2) =>
|
||||
println("Calculating %d + %d".format(n1, n2))
|
||||
sender ! AddResult(n1, n2, n1 + n2)
|
||||
sender() ! AddResult(n1, n2, n1 + n2)
|
||||
case Subtract(n1, n2) =>
|
||||
println("Calculating %d - %d".format(n1, n2))
|
||||
sender ! SubtractResult(n1, n2, n1 - n2)
|
||||
sender() ! SubtractResult(n1, n2, n1 - n2)
|
||||
case Multiply(n1, n2) =>
|
||||
println("Calculating %d * %d".format(n1, n2))
|
||||
sender ! MultiplicationResult(n1, n2, n1 * n2)
|
||||
sender() ! MultiplicationResult(n1, n2, n1 * n2)
|
||||
case Divide(n1, n2) =>
|
||||
println("Calculating %.0f / %d".format(n1, n2))
|
||||
sender ! DivisionResult(n1, n2, n1 / n2)
|
||||
sender() ! DivisionResult(n1, n2, n1 / n2)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,10 +16,10 @@ class CreationActor extends Actor {
|
|||
case result: MathResult => result match {
|
||||
case MultiplicationResult(n1, n2, r) =>
|
||||
printf("Mul result: %d * %d = %d\n", n1, n2, r)
|
||||
context.stop(sender)
|
||||
context.stop(sender())
|
||||
case DivisionResult(n1, n2, r) =>
|
||||
printf("Div result: %.0f / %d = %.2f\n", n1, n2, r)
|
||||
context.stop(sender)
|
||||
context.stop(sender())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue