RStudio 如何确定控制台宽度,为什么它似乎总是出错?
How does RStudio determine the console width, and why does it seem to be getting it consistently wrong?
我刚刚在 RStudio 中发现了 wid <- options()$width
,它似乎是我日常控制台使用中很多烦恼的来源(或者更确切地说,更接近来源)。我应该预先说明我目前在 Linux Mint 17.3(基于 Ubuntu 14.04.3 LTS)
上使用 R 3.2.2、RStudio 0.99.491
据我了解,wid
应该以字符来衡量——如果 wid
等于 52,那么一个人应该能够在屏幕上显示两次字母表(给定固定宽度的默认字体),但事实并非如此:
如您所见,尽管 wid
等于 52,但我无法将字母表填满两次 -- 我少了 6 个字符。我还注意到这意味着它 而不是 仅仅是因为存在命令提示符箭头和 space (>
).
这个问题似乎有点成比例——如果我有 wid
最多 78 个,我只能容纳 70 个字符;最多 104、93,所以 wid
相当一致地减少了大约 88%(旁注:这也表明我的假设 wid
以字符为单位可能是正确的)。
由此产生的问题是,控制台输出经常会超出其预期的行,使输出变得丑陋且难以理解;举个例子,为我生成的简单片段 setDT(lapply(1:30, function(x) 1:3))[]
:
我似乎很清楚,输出是在实践中不可用的屏幕宽度上尝试的——在内部,比实际存在的屏幕宽度更大的屏幕宽度用于打印。
这给我留下了三个问题:
options()$width
是如何确定的?
- 为什么总是错误?
- 我们可以做些什么来克服这个错误?
找到 post about this on Rstudio support and it seems the issue has to do with high DPI Displays; there is a claimed bug fix in RStudio version 0.99.878 (released just today! as luck would have it), according to the release notes:
Bug Fixes
...
- Correct computation of
getOption(“width”)
on high DPI displays
希望这对遇到此问题的其他人有所帮助!我很想 post 关于这个 /r/oddlysatisfying B-)
如果有人能找到它,我很想在 RStudio GitHub 页面上看到相关的提交(我运气不好)。
我刚刚在 RStudio 中发现了 wid <- options()$width
,它似乎是我日常控制台使用中很多烦恼的来源(或者更确切地说,更接近来源)。我应该预先说明我目前在 Linux Mint 17.3(基于 Ubuntu 14.04.3 LTS)
据我了解,wid
应该以字符来衡量——如果 wid
等于 52,那么一个人应该能够在屏幕上显示两次字母表(给定固定宽度的默认字体),但事实并非如此:
如您所见,尽管 wid
等于 52,但我无法将字母表填满两次 -- 我少了 6 个字符。我还注意到这意味着它 而不是 仅仅是因为存在命令提示符箭头和 space (>
).
这个问题似乎有点成比例——如果我有 wid
最多 78 个,我只能容纳 70 个字符;最多 104、93,所以 wid
相当一致地减少了大约 88%(旁注:这也表明我的假设 wid
以字符为单位可能是正确的)。
由此产生的问题是,控制台输出经常会超出其预期的行,使输出变得丑陋且难以理解;举个例子,为我生成的简单片段 setDT(lapply(1:30, function(x) 1:3))[]
:
我似乎很清楚,输出是在实践中不可用的屏幕宽度上尝试的——在内部,比实际存在的屏幕宽度更大的屏幕宽度用于打印。
这给我留下了三个问题:
options()$width
是如何确定的?- 为什么总是错误?
- 我们可以做些什么来克服这个错误?
找到 post about this on Rstudio support and it seems the issue has to do with high DPI Displays; there is a claimed bug fix in RStudio version 0.99.878 (released just today! as luck would have it), according to the release notes:
Bug Fixes
...
- Correct computation of
getOption(“width”)
on high DPI displays
希望这对遇到此问题的其他人有所帮助!我很想 post 关于这个 /r/oddlysatisfying B-)
如果有人能找到它,我很想在 RStudio GitHub 页面上看到相关的提交(我运气不好)。