Es ist mein erstes Mal mit Skalas-Parser-Kombinatoren. Ich habe diese Situation, wo ich eine Liste von Typen und sie können andere Arten zu verlängern, oder nicht. Wenn sie es tun, erstellen wir einfach eine Karte zwischen dem Typ und seinem übergeordneten Typ. Wenn nicht, ich karte nur den Typ zum Objekt. (Typen sind nur String-Namen) Sie sind so geschrieben: In welchem Fall werden sie implizit sein - Objekt Ich habe versucht, es in der folgenden Weise zu implementieren, aber es ist nicht kompilieren. Sein Sprichwort, dass es eine Option ListString, String erfordert und es fand ein, b. Es sagt auch, dass es nicht finden kann, die Wert Namen in der ersten zum Verständnis, wenn in der Tat seine in der Fall Muster übereinstimmen angegeben. Ein bisschen verwirrt jetzt was eigentlich passiert ist. Eigentlich möchte ich nur, dass du einen MapString, String zurückgibst. Wenn der parenttype fehlt, sollte es standardmäßig zu Objekt sein. Wie ist es am besten, sich diesem Theres ein paar Dinge zu nähern, die hier los sind. Erstens der Vorrang von und. Bedeutet, dass anstelle der Kombination (Name), die ein ParserListString mit (- parenttype) ist, die ein ParserOptionString youre ist, der tatsächlich das ganze Ding einpackt und so ein ParserOption ListString, String, wenn das sinnvoll ist. Die einfachste Lösung ist, einen zusätzlichen Satz von Klammern zu verwenden. Also willst du damit anfangen: Dann in der Mapping-Funktion, was Sie erhalten, ist ein ListString, OptionString mit der Liste der Namen und ein optionaler Parenttype. In Bezug auf Muster Matching erhalten Sie immer Namen Parenttype, wo die letztere ist ein OptionString. Also grundsätzlich ist dein zweites Muster ungültig. So könntest du das auch machen: Oder du könntest das vereinfachen: Das ist die Dokumentation für die Scala Standardbibliothek. Paketstruktur Das Scala-Paket enthält Kerntypen wie Int. Schweben. Array oder Option, die in allen Scala Compilationseinheiten ohne explizite Qualifikation oder Importe zugänglich sind. Bemerkenswerte Pakete beinhalten: Andere Pakete sind vorhanden. Siehe die vollständige Liste auf der rechten Seite. Zusätzliche Teile der Standardbibliothek werden als separate Bibliotheken ausgeliefert. Dazu gehören: scala. reflect - Scalas Reflexion API (scala-reflect. jar) scala. xml - XML-Parsing, Manipulation und Serialisierung (scala-xml. jar) scala. swing - Eine praktische Wrapper um Javas GUI Framework namens Swing (Scala - wing. jar) scala. util. parsing - Parser Kombinatoren. Einschließlich einer Beispielimplementierung eines JSON-Parsers (scala-parser-combinators. jar) Automatische Importe Identifikatoren im Scala-Paket und das scala. Predef-Objekt sind standardmäßig im Geltungsbereich. Einige dieser Identifikatoren sind Typ-Aliase, die als Verknüpfungen zu häufig verwendeten Klassen bereitgestellt werden. Zum Beispiel ist List ein Alias für scala. collection. immutable. List. Andere Aliase beziehen sich auf Klassen, die von der zugrunde liegenden Plattform bereitgestellt werden. Zum Beispiel ist auf der JVM String ein Alias für java. lang. String. Core Scala Typen. Core Scala Typen. Sie sind immer ohne expliziten Import verfügbar. Root-Paket-Paket-Root Dies ist die Dokumentation für die Scala-Standardbibliothek. Paketstruktur Das Scala-Paket enthält Kerntypen wie Int. Schweben. Array oder Option, die in allen Scala Compilationseinheiten ohne explizite Qualifikation oder Importe zugänglich sind. Bemerkenswerte Pakete beinhalten: Andere Pakete sind vorhanden. Siehe die vollständige Liste auf der rechten Seite. Zusätzliche Teile der Standardbibliothek werden als separate Bibliotheken ausgeliefert. Dazu gehören: scala. reflect - Scalas Reflexion API (scala-reflect. jar) scala. xml - XML-Parsing, Manipulation und Serialisierung (scala-xml. jar) scala. swing - Eine praktische Wrapper um Javas GUI Framework namens Swing (Scala - wing. jar) scala. util. parsing - Parser Kombinatoren. Einschließlich einer Beispielimplementierung eines JSON-Parsers (scala-parser-combinators. jar) Automatische Importe Identifikatoren im Scala-Paket und das scala. Predef-Objekt sind standardmäßig im Geltungsbereich. Einige dieser Identifikatoren sind Typ-Aliase, die als Verknüpfungen zu häufig verwendeten Klassen bereitgestellt werden. Zum Beispiel ist List ein Alias für scala. collection. immutable. List. Andere Aliase beziehen sich auf Klassen, die von der zugrunde liegenden Plattform bereitgestellt werden. Zum Beispiel, auf der JVM, String ist ein Alias für java. lang. String. Setting up akka in playframework, wie zu konfigurieren und bekommen halten ActorSystem Im versuchen, eine einfache akka-Setup in meiner Play-Anwendung zu erstellen. Ich habe gelesen, dass ich mein ActorSystem in global erstellen sollte, aber sollte ich ein Singleton erstellen, um die Referenz zu halten, habe ich einen einfachen json Endpunkt in meiner Play-Anwendung, also wann immer dieser AIP-Endpunkt angerufen wird, möchte ich die Nachricht an meine akka weitergeben Darsteller. Ich bin im Grunde die Schaffung eines akka-System bauen um spielen, so kann es Nachrichten über http gesendet werden. Hinweis: Ich möchte nicht das Standard-Akka-System im Spiel verwenden, ich muss meine eigene in application. conf erstellen Wie soll ich mein ActorSystem in meiner onStart-Methode in Global. scala erstellen und wie soll ich das in meinem Controller verweisen Auch, Gibt es ein Beispiel application. conf Setup für das Spiel 2.2.3 Best How To: Zuerst können Sie definieren Ihre Global. scala innerhalb der gemeinsamen Paket wie folgt (es kann nicht in der Standard-Paket, da Sie nicht in der Lage, diese Klasse zugreifen) : Dann können Sie dieses System in Ihren Controllern verwenden wie in: Schließlich müssen Sie Ihre application. conf optimieren und angeben, dass Ihre Global. scala in einem Nicht-Standard-Ort ist: Obwohl Im nicht ganz sicher, wenn in Play 2.2.x Sie müssen vielleicht schreiben: Sie sind wahrscheinlich immer noch mit Legacy-Stil Routing. Aus der Dokumentation: Injizierte Routengenerator Standardmäßig wird Play einen statischen Router generieren, der davon ausgeht, dass alle Aktionen statische Methoden sind. Durch die Konfiguration von Play, um den injizierten Routengenerator zu verwenden, kannst du Play spielen, um einen Router zu erzeugen, der das alles deklariert. Rein für Zip-Listen wiederholt den Wert für immer, also ist es nicht möglich, eine zippy-Applikationsinstanz für die Scalas-Liste (oder für irgendetwas wie Listen) zu definieren. Scalaz bietet ein Zip-Tag für Stream und die entsprechende zippy-Applikations-Instanz, aber soweit ich weiß, ist es noch ziemlich gebrochen. Um Hibernate zu erzwingen, um eine neue Transaktion im Playframework zu starten und Ihnen so einen neuen Entity Manager zu geben, der das Objekt zurückgibt, wie es in der Datenbank ist und nicht ein Hinweis darauf, müssen Sie das Spiel-Framework gezielt bitten, eine neue Transaktion zu starten durch. Deine Frage ist unklar, aber ich mache einen Schuss. Von: val x Array (a, x, y, b) zu a: x, y: b Du kannst mkString verwenden: x. mkString (:). TriangleCount zählt die Anzahl der Dreiecke pro Scheitelpunkt und gibt GraphInt, Int zurück, also musst du die Eckpunkte extrahieren: scalagt graph. triangleCount (). Confices. collect () res0: Array (org. apache. spark. graphx. VertexId, Int) Array ( (1,1), (3,1), (2,1)). Ich werde jetzt nur noch auf findStart kommentieren. Es gibt zwei Dinge falsch mit findStart: findStart wird rekursiv auf jede benachbarte Zelle aufgerufen. Leider ist die benachbarte Zelle eines Nachbarn die Zelle selbst. Die Funktion prüft nie, ob du eigentlich auf einer bestimmten Zelle laufen kannst (ich nehme an, du kannst flatMap mit der Identitätsfunktion anrufen, um die Struktur deiner RDD zu glätten, rdd. flatMap (Identität), also viele Probleme Tut es, das in dem Konstruktor des Buches getan wird und für jede Instanz wiederhergestellt wird. Deine Hauptmethode, die auf Instanzmethode des Buches kompiliert wird, nicht eine statische Methode, so dass es keinen Einstiegspunkt für eine ausführbare Datei bedient A. Auf seiner rechten Seite hat seine Operanden umgedreht. Theres andere Betreiber, die davon Gebrauch machen (kann nicht an irgendwelche Beispiele von der Oberseite meines Kopfes aber denken).
Comments
Post a Comment