2016-08-15 3 views
5

Lassen Sie uns sagen, dass ich eine einfache Aufgabe in elm-repl erstellt haben, wie:Wie drucke ich den Wert einer Aufgabe in elm-repl?

> forty = Task.succeed 40 
<task> : Task.Task a number 

Wie nehme ich meine forty und ... es verwenden? Ich kann die Task in eine Cmd über konvertieren:

> Task.perform (\x -> Nothing) (\a -> Just a) forty 
{ type = "leaf", home = "Task", value = T <task> } 
    : Platform.Cmd.Cmd (Maybe.Maybe Float) 

... aber ich bin nicht sicher, ob dies nimmt mich näher an mein Ziel, da ich nicht weiß, wie man „Kraft“ den Befehl (zB um den Wert auf dem Bildschirm auszugeben).

+0

Abgesehen von der Überprüfung des Werts einer Aufgabe gibt es ein bestimmtes Ziel, das Sie außerhalb der REPL erreichen möchten? –

+0

Nein - ich versuche speziell, die Sprache zu verstehen, indem ich Code abspiele und sehe, was passiert. – Bosh

Antwort

5

Die Elm REPL erlaubt noch nicht die Ausführung von Aufgaben. Es gibt eine open issue für diese Feature-Anfrage.

+0

Danke! Kannst du eine gute Debugging-Arbeit beschreiben, die mir erlauben würde, mit Tasks außerhalb und der REPL zu arbeiten, angesichts dieser Einschränkungen? – Bosh

+0

Da es sich bei Elm um eine reine funktionale Sprache handelt, müssen Sie keine Aufgaben zum Testen ausführen, da Ihnen dieselbe Ausgabe für die gleiche Eingabe garantiert wird. Sie können alle Funktionen "vortäuschen", indem Sie sie einfach in Ihren Komponententests aufrufen. Schreiben Sie keine Tests für Tasks, testen Sie Ihre "Update" -Funktionen. –

Verwandte Themen