RStudio如何确定控制台宽度,为什么它似乎一直错误?

Mic*_*ico 5 r rstudio

我刚刚wid <- options()$width在RStudio中发现,它似乎是我的日常控制台使用中的烦恼源(或更确切地说,更接近源).我应该预先说明我目前在R 3.2.2,RStudio 0.99.491,在Linux Mint 17.3上(基于Ubuntu 14.04.3 LTS构建)

据我所知,wid应该用字符来衡量 - 如果wid等于52,比如说,那么一个人应该能够在屏幕上适合字母表两次(给定固定宽度的默认字体),但这似乎不是是这样的:

宽度与实际宽度差异

正如你所看到的,尽管wid等于52,但我无法使字母表适合两次 - 我的字符短6个字符.我还注意到,这意味着它是只是由于该命令的存在提示箭头和空间(>).

问题似乎有点成比例 - 如果我有wid78,我只能容纳70个字符; 高达104,93,所以wid大约88%的折扣相当一致(旁注:这也表明我的假设wid以字符衡量可能是正确的).

这产生的问题是控制台输出经常超出其预期的线路,使输出变得难看并且难以消化; 例如,setDT(lapply(1:30, function(x) 1:3))[]为我生成的简单剪辑:

哎呦

我似乎很清楚,在屏幕宽度上尝试输出,这在实践中是不可用的 - 在内部,使用比实际存在的更大的屏幕宽度进行打印.

这让我有三个问题:

  1. 如何options()$width确定?
  2. 为什么这么一直错?
  3. 我们可以做些什么来覆盖这个错误?

Mic*_*ico 1

在 Rstudio 支持上找到了一篇关于此问题的帖子,该问题似乎与高 DPI 显示器有关;根据发行说明, RStudio 版本 0.99.878(今天刚刚发布!幸运的是)中有一个声称的错误修复

\n
\n

Bug修复

\n

...

\n
    \n
  • 正确计算getOption(\xe2\x80\x9cwidth\xe2\x80\x9d)高 DPI 显示器上的
  • \n
\n
\n

希望这可以帮助遇到此问题的其他人!我很想在/r/oddlysatisfying上发布有关此内容的文章 B-)上发表有关此内容的文章

\n

希望在RStudio GitHub上看到相关提交如果有人可以追踪的

\n