Gram z rozproszonymi aktorami scala. Bardzo dobrze.Wzorzec dopasowujący funkcje zerowego argumentu w scala: mistyfikowany przez ostrzeżenie
Mam serwer, który wykonuje przychodzące obiekty funkcji. Na przykład, klient ma
object Tasks {
def foo = {Console.println("I am Foo")};
def bar = {Console.println("I am Bar");}
}
// In client actor...
...
server ! Tasks.foo _
...
a serwer może odebrać je i wykonać je z kodem aktora jak
react {
case task:(()=>Unit) =>
task()
To wszystko działa dobrze (co jest rzeczywiście bardzo fajne), ale I” m mystified przez wyjście komunikatu ostrzegawczego przez scalac
kodu serwera:
warning: non variable type-argument Unit in type pattern is unchecked since it is eliminated by erasure
case task:(()=>Unit) =>
^
Jak mogę czyścić ostrzegawczy w górę?
(jestem całkiem jasne na różnicy między typem Unit
i rodzaj funkcji zero argumentów ()=>Unit
. Tylko próbując dopasować task:Unit
w react
ostrzega wolne, ale w rzeczywistości nie odpowiada na przychodzące zadania .)
Używanie Scala 2.7.5 na Debianie, z Sun6 Java.