`
pure
  • 浏览: 350918 次
社区版块
存档分类
最新评论

强大的Scala Actor

阅读更多
记一下Actor的学习吧。

原文在:http://developer.51cto.com/art/200908/144044.htm

不过有些代码过时了,需要调整一下。

第二段代码应该写成这样。

 import scala.actors._, Actor._  
  
 package com.tedneward.scalaexamples.scala.V4  
 {  
  [color=red] case class Speak(line : String);  
   case class Gesture(bodyPart : String, action : String);  
   case class NegotiateNewContract();  
   case class ThatsAWrap(); [/color]

   object Actor1  
   {  
     def main(args : Array[String]) =  
     {  
       val badActor =  
         actor  
         {  
		  var done = false 
		  while (!done)  
		  {  
			   receive  
			   {  
			         case NegotiateNewContract =>  
					System.out.println("I won't do it for less than $1 million!")  
				case Speak(line) =>  
					System.out.println(line)  
				case Gesture(bodyPart, action) =>  
					System.out.println("(" + action + "s " + bodyPart + ")")  
				case ThatsAWrap =>  
					System.out.println("Great cast party, everybody! See ya!")  
					done = true 
				case _ =>  
					System.out.println("Huh? I'll be in my trailer.")  
			   }  
		   }
         }  
         
         badActor ! NegotiateNewContract  
	 badActor ! Speak("Do ya feel lucky, punk?")  
	 badActor ! Gesture("face", "grimaces")  
	 badActor ! Speak("Well, do ya?")  
	 badActor ! ThatsAWrap  
     }  
   }  
 }  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics