2016-04-21 15 views
0

Es ist möglich, die gesamte Ausgabe außer der Katze/drucken/ähnlich in einer R-Konsole zu unterdrücken?Unterdrücken der Ausgabe in R

Ich benutze SublimeRepl für Sublime Text und ich würde gerne das Echo unterdrücken, wenn Sie eine Zeile (etwas wie das ";" in Matlab/Oktave), aber die Ausgabe von Cat/Print oder ähnliche Befehle für offensichtlich Gründe dafür.

Irgendeine Idee?

+0

können Sie einige spezifische Beispiele geben – rawr

+0

Ehmmm, öffnen Sie eine R-Konsole und schreiben "x = 1", dann drücken Sie die Eingabetaste und die Zeile gerade oben wird sagen "x = 1 ", das will ich unterdrücken. In Matlab fügen Sie einfach ein Semikolon nach der Zeile hinzu -> "x = 1;" und dann wird die Ausgabe unterdrückt, ich suche nach dem gleichen Ding in R. – Ghost

+0

Das ist, was ich dachte, du meintest. Ich verstehe nicht einmal, warum das möglich wäre, geschweige denn wünschenswert. Sie wollen etwas Code in die Konsole eingeben, Enter drücken und es verschwinden lassen? – rawr

Antwort

0

Es gibt eine ganze Reihe von R-Funktionen, die Werte über die invisible-Funktion zurückgeben. Sie werden cat einige begrenzte Menge von Werten, aber das zurückgegebene Objekt wird viel größer sein. Siehe zum Beispiel den Code von lm:

> invisible(strsplit(as.character(35600), split="..$")) 
> invisible(print(strsplit(as.character(35600), split="..$"))) 
[[1]] 
[1] "356" 

Die R-Konsole arbeitet standardmäßig als schreib eval-print Schleife und Sie müssen die Lese- und eval Segmente emulieren, aber dann unsichtbar Wert in den Arbeitsbereich zurück. Ich dachte, dass Sie möglicherweise die readline Funktion neu schreiben müssen, um zu bekommen, dass Konsolenausgabe ausgeblendet wurde. Und wahrscheinlich müssen Sie mit den stdin und stdout Verbindungen auch geigen. Abschnitt 1.6, "Autodruck" des Dokuments R Internals muss gelesen werden. Ich habe mich gefragt, ob Sie R mit der Variablen R_Visible, die auf FALSE gesetzt ist, neu kompilieren könnten. Dieser Abschnitt sagt "tatsächlichen Autodruck wird von PrintValueEnv in Datei print.c"

Verwandte Themen