首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R run not source a file for interactive input

R run not source a file for interactive input
EN

Stack Overflow用户
提问于 2016-06-17 02:18:01
回答 1查看 800关注 0票数 2

R在运行文件和源文件之间有细微的区别。Source假设输入是有效的R代码。我有一个通过readline()请求交互式输入的函数,它会提示用户输入字符串。我已经在文件中记录了所需的输入,但不知道如何从文件中运行内容。

下面是一个小函数,它以交互方式请求文本并将其打印出来:

代码语言:javascript
复制
spacefun <- function() {
  text <- readline("Input text: ")
  print(text)
}

一个单独的文件test.R调用该函数并提供文本。

代码语言:javascript
复制
spacefun()
Test Line

source()parse()都在空格上抛出错误:

代码语言:javascript
复制
Error in source("~test.R", echo = TRUE) : 
  ~test.R:2:6: unexpected symbol
1: spacefun()
2: Test Line

有什么想法?

EN

回答 1

Stack Overflow用户

发布于 2017-11-01 17:39:47

Make readline wait for input in R已应答

当你使用脚本模式时,你应该使用readLines()作为输入,使用cat()作为输出,这是一个奇怪的设计,我不知道为什么。

代码语言:javascript
复制
cat("a string please: ");
a <- readLines("stdin",n=1);
cat("You entered")
str(a);
cat( "\n" )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37866581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档