出力の一時停止と再開
Posted feedbacks - R
R的にはちょっと難しいお題ですね。
キーイベントを取得するにはgetGraphicsEvent()という関数がありますが、実行中はR本体の処理がブロックされてしまって、肝心の"a"を出す処理が実行できないようです。
代わりにR TclTkを使うことにしました。相変わらずWindowsのRguiはコンソール入出力がよろしくないので、Rtermから実行してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | library(tcltk)
tt <- tktoplevel()
pause.flag <- FALSE
quit.flag <- FALSE
tkbind(tt, "<Key>", function(K){
switch(K,
q = {quit.flag <<- TRUE; },
p = {pause.flag <<- !pause.flag}
)})
repeat{
if(!pause.flag){
writeLines("a")
}
if(quit.flag){
tkdestroy(tt)
quit(save="no")
}
Sys.sleep(1)
}
|

nobsun
#6346()
Rating3/3=1.00
起動すると、標準出力に1秒毎に'a'の1文字を出力し続けるプログラムで、 以下の条件を満たすものを「どう書く?」
[ reply ]