Backquote Wird in Scala Swing Event verwendet

7

Ich bin neu bei Scala und folge einem der Beispiele, um Swing in Scala arbeiten zu lassen und ich habe eine Frage. Basierend auf,

%Vor%

Warum muss ich in EditDone ('Fahrenheit') und EditDone ('celsius') backquote (') verwenden, um meine Textfeldkomponenten zu identifizieren, z. fahrenheit und celsius ? Warum kann ich nicht einfach EditDone(fahrenheit) verwenden?

Danke

    
thlim 03.07.2011, 16:59
quelle

2 Antworten

15

Dies hat etwas mit dem Mustervergleich zu tun. Wenn Sie einen Kleinbuchstaben innerhalb eines Mustervergleichs verwenden:

%Vor%

Dann wird das übereinstimmende Objekt (das Ereignis in diesem Fall) mit jedem EditDone -Ereignis auf einem beliebigen Widget abgeglichen. Es bindet den Verweis auf das Widget an den Namen fahrenheit . Das fahrenheit wird zu einem neuen Wert in diesem Fall.

Wenn Sie jedoch Backticks verwenden:

%Vor%

dann ist die Musterübereinstimmung nur erfolgreich, wenn sich das EditDone -Ereignis auf das vorhandene Objekt bezieht, das durch den zuvor definierten Wert fahrenheit referenziert wird.

Beachten Sie, dass, wenn der Name des Werts fahrenheit Großbuchstaben wäre, wie Fahrenheit , Sie keine Backticks verwenden müssten - es wäre so, als hätten Sie sie eingefügt. Dies ist nützlich, wenn Sie Konstanten oder Objekte im Gültigkeitsbereich haben, mit denen Sie übereinstimmen möchten - diese haben normalerweise Großbuchstaben.

    
axel22 03.07.2011, 17:12
quelle
8
%Vor%

extrahiert einen Wert aus EditDone und vergleicht ihn mit der vorhandenen lokalen Variablen fahrenheit , während

%Vor%

extrahiert einen Wert aus EditDone, erstellt eine neue lokale Variable fahrenheit (dadurch wird die vorhandene überschrieben) und weist den extrahierten Wert der neuen Variablen zu.

    
Kim Stebel 03.07.2011 17:11
quelle

Tags und Links