scala - yield-syntax
Ich bin, ein Buch zu Lesen auf der scala-Programmierung (die Programmierung in Scala), und ich habe eine Frage über die Ausbeute syntax.
Laut dem Buch, die syntax für den Ertrag ausgedrückt werden kann wie:
für Klauseln Rendite Körper
aber wenn ich versuche, führen Sie das folgende Skript, der compiler beschwert sich über zu viele Argumente für getName
def scalaFiles =
for (
file <- filesHere
if file.isFile
if file.getName.endsWith(".scala")
) yield file.getName {
//isn't this supposed to be the body part?
}
so, meine Frage ist, was ist der "Körper" Teil des Ertrags syntax, wie es zu benutzen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kurz, jegliche Meinungsäußerung (auch, dass die Rückgabe-Einheit), müssen Sie aber einschließen, dass der Ausdruck in den Klammern oder werfen Sie Sie nach unten (funktioniert nur mit einer einzigen Anweisung Ausdrücke):
obige code funktioniert (aber ohne Sinn):
Nächste option ist:
und als Tipp, Sie können schreiben Sie Ihre für das Verständnis so: