Ho appena scoperto wid <- options()$width
in RStudio, e sembra essere la fonte (o meglio, molto più vicina alla fonte) di molta irritazione nel mio uso quotidiano della console. Devo dire in anticipo che sono attualmente su R 3.2.2, RStudio 0.99.491, su Linux Mint 17.3 (costruito su Ubuntu 14.04.3 LTS)In che modo RStudio determina la larghezza della console e perché sembra che sia costantemente sbagliato?
Come ho capito, wid
deve essere misurato in caratteri - - se wid
è uguale a 52, dire, allora si dovrebbe essere in grado di adattarsi l'alfabeto sullo schermo due volte (dato il carattere predefinito larghezza fissa), ma questo non sembra essere il caso:
Come potete vedere, nonostante abbia wid
uguale a 52, non riesco a inserire l'alfabeto due volte - I up 6 caratteri brevi. Nota inoltre che ciò significa che è non semplicemente per la presenza della freccia e dello spazio del prompt dei comandi (>
).
Il problema sembra un po 'proporzionale: se ho wid
fino a 78, posso inserire solo 70 caratteri; fino a 104, 93, quindi wid
è circa l'88% di sconto abbastanza consistente (nota a margine: questo suggerisce anche che il mio assunto wid
sia misurato in caratteri probabilmente è giusto).
Il problema che questo genera è che spesso l'uscita della console trabocca oltre la linea prevista, rendendo l'output brutto e difficile da digerire; Prendiamo, per esempio, la semplice snipped setDT(lapply(1:30, function(x) 1:3))[]
che produce per me:
Mi sembra chiaro che l'uscita è stata tentata su una larghezza dello schermo, che non era disponibile nella pratica - che internamente, una più grande la larghezza dello schermo effettivamente esistente è stata utilizzata per la stampa.
Questo mi lascia con tre domande:
- Come viene determinato
options()$width
? - Perché è così costantemente sbagliato?
- Cosa possiamo fare per ignorare questo errore?