Ich bin ein Neuling für Scala, ich schreibe einfach eine einfache Funktion, um eine gegebene Zeichenkette umzukehren:
%Vor%Die Ausbeute gibt ein scala.collection.immutable.IndexedSeq [Char] zurück und kann nicht in einen String konvertiert werden. (oder ist es etwas anderes?)
Wie schreibe ich diese Funktion?
Beachten Sie, dass bereits eine Funktion definiert ist:
%Vor%Aber wenn Sie das selbst machen wollen:
%Vor% oder (manchmal ist es besser, until
zu verwenden, aber wahrscheinlich nicht in diesem Fall)
Beachten Sie auch, dass wenn Sie eine umgekehrte Zählung verwenden (von einem größeren Wert zu einem niedrigeren Wert), sollten Sie einen negativen Schritt angeben oder Sie erhalten einen leeren Satz:
%Vor%Hier ist eine kurze Version
%Vor%Bearbeiten : oder noch kürzer, wir haben das fantastisch kryptische
%Vor%aber ich würde das nicht wirklich empfehlen ...
Sie könnten dies auch mit einem rekursiven Ansatz schreiben (werfen Sie diesen einfach nur zum Spaß auf)
%Vor% Wie von om-nom-nom angezeigt, achte auf by -1
(ansonsten iterierst du nicht wirklich und dein Ergebnis ist leer). Der andere Trick, den Sie verwenden können, ist collection.breakOut
.
Es kann auch dem for
Verständnis wie folgt zur Verfügung gestellt werden:
Der Vorteil von breakOut
besteht darin, dass keine Zwischenstruktur wie in der mkString
-Lösung erstellt wird.
hinweis: breakOut
nutzt CanBuildFrom
und Builder, die Teil der Grundlage der neu gestalteten Sammlungsbibliothek sind, die in scala 2.8.0 eingeführt wurde
Alle obigen Antworten sind korrekt und hier ist meine Meinung:
%Vor%Tags und Links scala