Gibt es eine Möglichkeit, den letzten Befehl auf oberster Ebene in einer Zeichenkette zu speichern, ohne den Verlauf in einer Datei zu speichern und wieder einzulesen, nur um den letzten Befehl zu holen? Ich habe Code dafür
%Vor%und das ist nicht so schlimm, aber ich habe mich gefragt, ob es einen Weg gibt, die Geschichte als Zeichen zu bekommen, ohne zuerst in eine Datei zu schreiben.
Dies ist ein guter Anwendungsfall für einen Aufgabenrückruf. Grundsätzlich können Sie einen Callback registrieren, der den letzten Ausdruck der obersten Ebene in einer Variablen speichert, auf den Sie anschließend zugreifen können.
%Vor%Sie können die Callback-Funktion auch so schreiben, dass sie einfach den letzten Aufruf eines Vektors (oder einer Liste oder was auch immer) hinzufügt, so dass Sie eine vollständige Befehlshistorie erstellen:
%Vor% Denken Sie bei Aufgabenrückrufen daran, dass es wirklich wichtig ist, dass Sie nach sich selbst mit removeTaskCallback
aufräumen (oder Sie können die Rückruffunktion schreiben, um sich selbst zu entfernen, nachdem eine Bedingung erfüllt ist; siehe ?addTaskCallback
für ein Beispiel) Andernfalls wird .lastcall
für immer in Ihrer Umgebung verweilen und unnötig aktualisiert werden.
Tags und Links r