获取函数的确切输入文本

时间:2018-07-24 04:14:07

标签: r string

我想获得函数参数的确切输入文本,然后在输出中打印出来。例如,以下函数将获取一个整数向量并返回其平方。

> my_func <- function(x) {
+     print(paste0("The square of ", toString(x), " is: ", toString(x^2)))
+ }
> my_func(1:4)
[1] "The square of 1, 2, 3, 4 is: 1, 4, 9, 16"

我想要的输出是

The square of "1:4" is: 1, 4, 9, 16

其中1:4正是该功能的输入文本。

2 个答案:

答案 0 :(得分:5)

FROM openjdk

ADD ${FILE_NAME}_0.1.zip .
RUN unzip ${FILE_NAME}_0.1.zip

答案 1 :(得分:1)

另一种方法是使用eval parse并将输入作为字符串传递

my_func <- function(x) {
   cat("The square of ", x, " is: ", eval(parse(text = x))^2)
}

my_func("1:4")
#The square of  1:4  is:  1 4 9 16

my_func("3:6")
#The square of  3:6  is:  9 16 25 36