Als Option können Sie for
und Rekursion anstelle von %code% verwenden:
Ich bin neu bei Scala und ich frage mich, wie Sie das nächste Element der Liste aufrufen können, weil ich versuche, das aktuelle Element mit dem benachbarten zu vergleichen. Gegeben sei x als aktuelles Element, ich habe versucht, ähnlich wie Java, x + 1, aber das hat nicht funktioniert. Irgendwelche Hilfe?
%Vor% Die kanonische Vorgehensweise in einer for
Schleife wäre:
(Übrigens ist es wahrscheinlich besser, die if-Anweisung in diesem Beispiel nach außen zu stellen und nicht innerhalb des Verständnisses.)
Wenn Sie Indizes anstelle von Werten haben, dereferenzieren Sie sie einfach mit dem gleichen Muster. Persönlich finde ich dieses Muster nicht sehr klar oder nützlich. Es ist langsam, hat seltsame Ecken mit Listen, die nicht voll sind, und es ist schwer zu verstehen, was vor sich geht. Stattdessen definiere ich
%Vor%was dann so verwendet werden kann:
%Vor%Die Varianten "forallpair", "expencepair" und "findpair" sind besonders nützlich.
Dies wird besser dadurch behandelt, dass man über die -Liste rekurriert, anstatt die -Elemente zu durchlaufen, da die Elemente nichts über die Liste wissen.
Zum Beispiel:
%Vor%Ich bin neu bei Scala und ich frage mich, wie Sie das nächste Element der Liste aufrufen können, weil ich versuche, das aktuelle Element mit dem benachbarten zu vergleichen. Gegeben sei x als aktuelles Element, ich habe versucht, ähnlich wie Java, x + 1, aber das hat nicht funktioniert. Irgendwelche Hilfe?
%Vor% Die kanonische Vorgehensweise in einer match
Schleife wäre:
(Übrigens ist es wahrscheinlich besser, die if-Anweisung in diesem Beispiel nach außen zu stellen und nicht innerhalb des Verständnisses.)
Wenn Sie Indizes anstelle von Werten haben, dereferenzieren Sie sie einfach mit dem gleichen Muster. Persönlich finde ich dieses Muster nicht sehr klar oder nützlich. Es ist langsam, hat seltsame Ecken mit Listen, die nicht voll sind, und es ist schwer zu verstehen, was vor sich geht. Stattdessen definiere ich
%Vor%was dann so verwendet werden kann:
%Vor%Die Varianten "forallpair", "expencepair" und "findpair" sind besonders nützlich.
Dies wird besser dadurch behandelt, dass man über die -Liste rekurriert, anstatt die -Elemente zu durchlaufen, da die Elemente nichts über die Liste wissen.
Zum Beispiel:
%Vor% Als Option können Sie for
und Rekursion anstelle von %code% verwenden:
list.tail.head
gibt das nächste Element an, wenn Sie alle Elemente von der Vorderseite der Liste durchlaufen möchten. Dies liegt daran, dass der Kopf das vorderste Element ist und der Rest der Rest der Liste ist.
Wie in Scala 2.11.7 gilt:
%Vor%1) Zip den Schwanz
%Vor%2) Schieben Sie das Fenster
%Vor%Wie wäre es mit dem Gleiten?
%Vor%list.tail.head
gibt das nächste Element an, wenn Sie alle Elemente von der Vorderseite der Liste durchlaufen möchten. Dies liegt daran, dass der Kopf das vorderste Element ist und der Rest der Rest der Liste ist.