gibt es eine Möglichkeit, stdout in Julia zu erfassen wie capture.output () in R?

8

In R kann capture.output() die Ausgabe in stdout in einem Ausdruck als Zeichenvektor erfassen, z. B.

%Vor%

Gibt es eine äquivalente Funktion in Julia?

    
Yihui Xie 21.07.2013, 04:31
quelle

3 Antworten

5

Mit Julia 0.2 gibt es jetzt eine Möglichkeit, die Standardausgabe zu erfassen: Sie können redirect_stdout , um STDOUT in eine Pipe zu konvertieren, aus der Sie lesen können.

Dies ist hauptsächlich nützlich, um die Ausgabe von externen C-Bibliotheken zu erfassen. Wie Stefan erwähnt, akzeptieren die meisten Julia-I / O-Funktionen ein io -Argument, mit dem Sie an ein beliebiges Ziel, wie zum Beispiel einen Zeichenfolgenpuffer, drucken können.

    
Steven G. Johnson 06.02.2014, 21:13
quelle
4

Standard-Bibliotheksfunktionen sollten alle ein optionales EA-typisiertes erstes Argument akzeptieren, auf das gedruckt wird, wenn es angegeben wird, ansonsten aber standardmäßig auf STDOUT. In diesem Fall können Sie mit sprint(io->f(io,...)) erfassen, was in einer Zeichenfolge gedruckt wird. Wenn die Funktionen nicht zum Drucken auf ein bestimmtes IO-Objekt geschrieben wurden, gibt es keine Möglichkeit, die Ausgabe umzuleiten.

    
StefanKarpinski 21.07.2013 17:12
quelle
3

Ich bin mir nicht sicher, was Sie suchen, aber wenn Sie knitr auf julia bringen wollen, dann ist das großartig!

Das Gadfly-Paket hat eine Webart, die einiges davon tut.

Besuche Ссылка

und

Ссылка

Ich habe es in Ссылка verwendet, um Self-Grading Quizzes aus der Abschrift zu erstellen.

    
jverzani 21.07.2013 23:57
quelle

Tags und Links