如何使静态变量动态化?

时间:2016-10-18 15:27:58

标签: r dynamic

假设一个简单的代码:

Test

再次调用时,可以采用其他变量:

Locker

但是,当分配给变量时,它会粘在一个预定义的集合上:

hide("slide", {direction: "right"}, 1000);

我们如何使n变量改变其值呢?

3 个答案:

答案 0 :(得分:3)

我撇开了你为什么要这样做的一些问题,但这是一种有点......先进的方式:

makeActiveBinding("n",function() sample(2,5,replace = TRUE),.GlobalEnv)
> n
[1] 2 2 1 2 1
> n
[1] 1 2 2 2 2
> n
[1] 2 1 1 1 1

这里发生的是n正在全局环境中创建,然后链接到该函数,因此每当需要n的值时,它就会调用该函数。 / p>

答案 1 :(得分:2)

创建一个函数将是惯用的R方法:

samp <- function() sample(2, 5, replace = TRUE)

samp()
[1] 2 1 2 2 2
samp()
[1] 1 2 2 1 1

答案 2 :(得分:0)

...或者只是简单地调用sample()几次......

> n <- sample(2,5, replace=TRUE)
> n
[1] 1 2 2 1 2
> n <- sample(2,5, replace=TRUE)
> n
[1] 2 2 2 1 1