2016-05-13 44 views
5

Quando sono in modalità di debug in una funzione e utilizza "CTRL + Invio" su un oggetto/variabile, R mi riporta sulla riga 1 della funzione e stampa la variabile oggetto sulla console. È un bug o un comportamento previsto?Fastidioso Comportamento RStudio nel debug

Un altro bug in modalità debug: - Se c'è una stampa (variabile1) da qualche parte nella funzione, R non solo stampare su variabile1 console, ma anche il codice della funzione residua che viene dopo "stampare (variabile1)"

Esistono modi per evitare tali comportamenti di R Studio?

Grazie,

+1

Impossibile riprodurre uno di questi problemi. Quali versioni di R e RStudio stai usando? Puoi pubblicare il codice della funzione in cui stai osservando il comportamento scorretto? – Jonathan

+1

La versione di Rstudio è la più recente così come R. Il problema si presenta con le opzioni (error = recover) specificatamente. Una volta che sei in modalità di debug, noterai il problema che ho menzionato in precedenza – Fredkho

+0

Questo mi ha infastidito per anni, mi piacerebbe una soluzione - ho chiesto sul forum rstudio su di esso molto tempo fa e non ho avuto alcuna risposta utile. Interferisce davvero con il mio flusso di lavoro ... – Charlie

risposta

1

questo può essere la pena di riferire al rstudio direttamente come può essere un bug che era rimasto da un cambiamento di comportamento in modalità debug. Ho esaminato il file della guida browser e non ho riscontrato questo comportamento.

Un articolo rstudio da aprile 2016 sul debug here, afferma che

Semplicemente premendo Invio alla console eseguirà l'istruzione corrente e passare a quello successivo. Questo è un modo conveniente per scorrere rapidamente le affermazioni.

Si noti che la maggior parte dei comandi elencati in questa sezione corrisponde direttamente al comportamento di browser.

Tuttavia, ho letto di Hadley avanzata R di recente e mi sono imbattuto il seguente nella sezione 3.2.2:

Ci sono altri due comandi un po 'meno utili che non sono disponibili nella barra degli strumenti:
* Immettere: ripete il comando precedente. Trovo che sia troppo facile attivarlo accidentalmente, quindi lo spengo usando le opzioni (browserNLdisabled = TRUE).
...

Dal avanzata R è stato pubblicato nel 2014, il mio pensiero è che questo è un comportamento eredità che si dovrebbe riferire ai creatori di rstudio, con tanto di esempio riproducibile.