lynxeyedの電音鍵盤

MBDとFPGAと車載で使うデバイスの備忘録

RStudioで標準入出力するとなんか変

RStudioがハングする

R-3.4.0をWindows10で使っているのですが、ユーザからのコンソールを受け付けるのに以下のように書いていました

#! /usr/bin/env Rscript

#
lines = readLines("stdin")
# 以下 linesに代入された文字列の処理

ところが、RStudioそのものが動作停止し、タスクマネージャから強制的に終了しないといけなくなる顛末。
確かこれで動いてたはず…
とおもったらRStudioのリダイレクトの所為だったようです。"stdin"ではなく stdin()に書き換え。
参考:linux - Use stdin from within R studio - Stack Overflow

#! /usr/bin/env Rscript

#
while (TRUE) {
    line = readLines(stdin(), n=1); 
    if(line == "q")break
    cat(line, "\n")
}
# break後の処理
#

無事動きました