Объясните метод в Scala
От: Grundik2 Земля  
Дата: 03.06.13 10:47
Оценка:
Использую akka в Scala:


object MyActor extends Actor {
 def receive = {
    case "hello" => println("hello back at you")
    case _       => println("huh?")
  }

}


Это компилится нормально, но вот это

  def receive = println("hello back at you")


дает ошибку


 type mismatch;
[error]  found   : Unit
[error]  required: MyActor.Receive
[error]     (which expands to)  PartialFunction[Any,Unit]
[error]   def receive = println("hello back at you")


1) Почему ошибка во втором случае? Ведь case "hello" => println("hello back at you") также ничего не возвращает, как и просто println("hello back at you")
2) Что значит case "hello" -- какой параметр сравнивается на соответсвие ему? Тут нет match что-то.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.