R - 之后如何使用readline()和附加代码?

时间:2014-10-18 19:32:58

标签: r user-input readline

简单的问题,但我无法找到适用于任何地方的答案。当我使用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

任何解决方案(和/或更简单的方式来获取用户输入)?

2 个答案:

答案 0 :(得分:1)

此处的问题是,只要输入a <- print(readinteger()),就会对其进行评估,b <- 7将被解释为readline的输入。解决方案是将代码包装在函数或块中:

{
a <- print(readinteger())
b <- 7
}

通过将所有内容放入一个块中,整个块作为代码读取,并且只有在评估之后,才会提示您输入整数。

答案 1 :(得分:0)

将由您的功能或打印功能处理的多个输出放入“一个对象”

您将其命名为:myOput <-列表(a.b.that.c)              打印(myoutput)