、あなたはターミナルでRを実行している場合のいずれかを使用できますが、むしろreadLines(file('stdin'))
よりreadLines(stdin())
を使用する必要があります。
ただし、RStudioを使用しているため、入力行数を指定しないという問題もあります。入力を標準入力から読み取るときは、と入力します。 + Dは入力の終了を知らせます。しかし、端末Ctrl+D is unavailableからではなくRStudioからこれを行う場合は、入力行を指定せずにstdinから読み込みを終了する方法はありません。
あなたは、端末からRを実行しているのであれば、あなたのコードは動作しますが、あなたははCtrl +Dを介して入力の終了を知らせます。 RStudioから作業する必要がある場合でも、readLines(stdin())
if you know the number of lines of inputを使用できます。例えば、
> readLines(stdin(), n=2)
Hello
World
[1] "Hello" "World"
代替回避策は、(私は入力を終了するを入力押下3行目)、例えば:
> scan(,'')
1: Hello
2: World
3:
Read 2 items
[1] "Hello" "World"
scan()
を使用することです。利点は、事前に入力行の数を知る必要はないということです。
これが関係している可能性がある 'readLines(STDIN())' –
をお試しください:https://stackoverflow.com/questions/30191232/use-stdin-from-within-r-studio – InfiniteFlashChess
@RADO、私は」あなたが受け入れる答えに賞金を授与します。 – InfiniteFlashChess