Ein ziemlich komisches Verhalten von der Scala REPL.
Obwohl das folgende kompiliert ohne ein Problem:
%Vor%Die private Variable scheint von dem Companion-Objekt in REPL nicht erreichbar zu sein:
%Vor%Warum passiert das?
Was passiert, ist, dass jede "Zeile" von REPL in einem anderen Paket abgelegt wird, so dass die Klasse und das Objekt keine Begleiter werden. Sie können dies auf verschiedene Arten lösen:
Machen Sie Kettenklasse und Objektdefinitionen:
%Vor%Verwenden Sie den Einfügemodus:
%Vor%Alles in ein Objekt einfügen:
%Vor% Das ist in der Tat ein bisschen komisch. Um dieses Problem zu umgehen, sollten Sie zunächst mit :paste
in den Einfügemodus wechseln, dann Ihre Klasse und Ihr Begleitobjekt definieren und den Einfügemodus mit STRG-D beenden. Hier ist eine Beispiel-REPL-Sitzung:
Tags und Links scala read-eval-print-loop companion-object