Das Begleitobjekt kann nicht auf die private Variable der Klasse zugreifen

8

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?

    
dimitrisli 02.08.2011, 23:30
quelle

2 Antworten

13

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%     
Daniel C. Sobral 02.08.2011, 23:54
quelle
2

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:

%Vor%     
Kim Stebel 02.08.2011 23:36
quelle