2010-11-07 2 views
0

Я вижу поведение, которого я не ожидаю с командами cat и flush.console() в RGui 2.12.0 (но не Rterm) для Windows. Я хотел посмотреть, была ли проблема с моей системой (или известным поведением), прежде чем сообщать об этом как об ошибке. В частности, я вижу странных символов UNICODE, которые он выполняет. Прошу простить использование огромного rnorm(), я не мог понять, как замедлить выполнение в установленном порядке.Неожиданное поведение в R с командой cat в R

for (i in 1:100) {cat(i,"\r");flush.console();rnorm(1000000)} 

R version 2.12.0 (2010-10-15) 
Platform: i386-pc-mingw32/i386 (32-bit) 

locale: 
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252 
[3] LC_MONETARY=English_United States.1252 
[4] LC_NUMERIC=C       
[5] LC_TIME=English_United States.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base 
+0

'n <- 2.5; Sys.sleep (n) '- более дешевый способ задержки. Аргумент 'time' находится в секундах и может быть дробным, например' Sys.sleep (0.1) 'будет спать (приблизительно) 100 миллисекунд. –

+0

Где вы видите странных персонажей? Всегда в одном месте? Или в разных местах каждый раз, когда вы это пытаетесь? Вы пытались использовать \ n вместо \ r для конца строки? – Spacedman

+0

Я использую \ r для обновления, пока я нахожусь в длинных циклах, чтобы отслеживать, где я нахожусь, и уверяю, что прогресс достигнут (это похоже на то, как работает индикатор выполнения базового текста). Мне не нравится использовать \ n, потому что это отвлекает интересный материал от моего экрана. Интересно, что ошибка не возникает с \ n. – russellpierce

ответ

1

Проблема была в RGui, и разработчики утверждают, что она будет исправлена ​​в следующем младшем выпуске 2.12.

2

Он работал, как вы ожидали бы под R-2.10.0, который является предыдущей версией R, установленной в моей редко используемой машине Windows. ;-)

Я бы сказал, сообщите об этом, но я просто отправлю его в R-devel как «неожиданное поведение», как вы это делали здесь. Обязательно проверяйте последнюю ежедневную сборку, прежде чем сообщать об этом, поскольку она, возможно, уже исправлена.

Смежные вопросы