// Example Scala file for source-highlight.
case class Point(x: Double, y: Double) 
abstract case class Shape { def draw(): Unit = println(this) } 
case class Circle(center: Point, radius: Double) extends Shape 
case class Rectangle(lowerLeft: Point, height: Double, width: Double) extends Shape
import scala.actors._ 
import scala.actors.Actor._ 
object ShapeDrawer extends Actor { 
 def act() { 
 loop { 
 receive { 
 case s: Shape => s.draw() 
 case "exit" => { println("exiting..."); exit } 
 case x: Any => println("Error: Unknown message! " + x)
 }
 }
 }
}
ShapeDrawer.start() 
ShapeDrawer ! Circle(Point(0.0,0.0), 1.0) 
ShapeDrawer ! Rectangle(Point(0.0,0.0), 2, 5) 
ShapeDrawer ! 3.14159 
ShapeDrawer ! "exit" 
// Output:
// => Circle(Point(0.0,0.0),1.0)
// => Rectangle(Point(0.0,0.0),2.0,5.0)
// => Error: Unknown message! 3.14159
// => exiting...
Server.fork;

AltStyle によって変換されたページ (->オリジナル) /