Ich benutze case x :: Nil => ...
versuchen, um sicherzustellen, dass die Liste nicht leer ist, aber es stimmt nur einzelne Elementliste.Wie kann ich verwenden Mustervergleich erhalten eine nicht leere Liste?
AKTUALISIERT
Es tut mir leid, es scheint, ich verliere etwas, es gibt eine spezielle Szene, die das Spiel innerlich verwendet,
Wie kann ich accountResult abgleichen, welcher List [String] (x :: _) Wert ist nicht Nil? und dann den übereinstimmenden List [String] -Wert
erhalten Anstatt nur die leere Liste mit Nil
anzugeben, geben Sie etwas an, das eine beliebige Liste sein kann, zB:
oder einfach:
%Vor%wenn Sie sich nicht um den Schwanz kümmern oder ihn nicht benutzen werden.
Diese Muster passen zu jeder Liste mit mindestens einem Element (anstatt genau einem Element gemäß Ihrem vorhandenen Muster). Ähnlich das Muster:
%Vor%entspricht einer Liste mit mindestens zwei Elementen.
Bearbeiten (Antwort auf Ihren Kommentar):
Sie können einer Variable innerhalb eines Fallmusters mit " @
" zuweisen. Also, für (eine typische Verwendung) Beispiel, das Sie vielleicht schon gesehen haben:
oder, passend zur gewünschten Verwendung, nach Ihrem Kommentar:
%Vor%Wenn Sie nur eine ganze nicht leere Liste einem Wert zuweisen möchten, ohne Kopf und Schwanz zu trennen, fügen Sie einfach einen Fall hinzu, der einer leeren Liste entspricht, und einen anderen, der die Liste einem Variablennamen wie folgt zuordnet:
%Vor% Nil
führt den Job ebenfalls aus und vergleicht eine leere Liste
Tags und Links scala pattern-matching