简单的问题,但我无法找到适用于任何地方的答案。当我使用readline()时(例如,如此处所示 - http://www.rexamples.com/4/Reading%20user%20input),它可以完美地运行:
readinteger <- function()
{
n <- readline(prompt="Enter an integer: ")
return(as.integer(n))
}
a <- print(readinteger())
但是,如果我在此之后添加任何代码,则跳过readline()并继续执行代码:
readinteger <- function()
{
n <- readline(prompt="Enter an integer: ")
return(as.integer(n))
}
a <- print(readinteger())
b <- 7
任何解决方案(和/或更简单的方式来获取用户输入)?
答案 0 :(得分:1)
此处的问题是,只要输入a <- print(readinteger())
,就会对其进行评估,b <- 7
将被解释为readline
的输入。解决方案是将代码包装在函数或块中:
{
a <- print(readinteger())
b <- 7
}
通过将所有内容放入一个块中,整个块作为代码读取,并且只有在评估之后,才会提示您输入整数。
答案 1 :(得分:0)
将由您的功能或打印功能处理的多个输出放入“一个对象”
您将其命名为:myOput <-列表(a.b.that.c) 打印(myoutput)