2013-06-06 9 views
8

Ich experimentiere mit GHCi, und ich habe eine mäßig lange Laufzeit (5 Minuten), die ich versuche zu tunen. Das Ergebnis beginnt mit dem Ausdruck, und ich kann oft feststellen, dass mein Algorithmus nach 1 Minute oder weniger noch nicht richtig abgestimmt ist, also annulliere ich den Vorgang. Aber wenn ich das Ergebnis finde, möchte ich es bis zum Ende zulassen, dann benutze es auch danach. Wenn ich es beim Starten zuweise, kann ich es nicht so sehen, wie es verarbeitet wird. Gibt es eine Möglichkeit, auf das Ergebnis des vorherigen Ausdrucks zuzugreifen, der in GHCi eingegeben wurde?Kann ich in GHCi das Ergebnis des vorherigen Ausdrucks verwenden?

+0

http://book.realworldhaskell.org/read/getting-started.html#x_U2 –

Antwort

16

GHCi hat die spezielle Variable it für diesen Zweck.

Prelude> 1 
    1 
Prelude> it 
    1 

Der Grund dafür, wie in der GHCi docs erklärt, dass nicht-IO Ausdrücke wie so

someExpr ==> let it = someExpr 
      print it 

verhalten Wenn someExpr IO war dann würden wir

it <- someExpr 
print it 

so haben it sollte immer das Ergebnis Ihres vorherigen Ausdrucks sein.

Verwandte Themen