如何更改从函数声明的变量的值?

朱利亚诺

假设您的代码中有一个名为“ ENV.myvar”的变量。然后,您已经编写了一个函数“ myfun”,该函数具有一些目标并返回一个对象(例如数组)。ENV.myvar用于计算,由于某种原因,在此过程中已对其进行了修改。

ENV.myvar <- 0;
myfun <- function(in1,in2,...,inN){

#declaring the output object
fun.myarray <- c(0,0,0);

#some code
...
#here ENV.myvar is modified for some reason
ENV.myvar = ENV.myvar + 20;

#code that works on fun.myarray
...
#return the object
fun.myarray
}

最终,我们得到一个问题:函数仅返回对象,但应永久覆盖过程中使用的外部变量。有可能吗?

莫尔克斯

是的,即使不建议这样做,也可以,因为在函数环境之外进行任何更改不是函数的预期行为。不过,这是您可以执行的操作:

myvar <- 0
myf <- function() {
  assign("myvar", 10, envir = parent.env(environment()))
  return("Value of 'myvar' changed to 10 in parent environment")
}
myf()
myvar
# [1] 10

您可以根据调用堆栈和您的需要更改parent.env(environment())零件以获得特定的环境,或者仅更改零件.GlobalEnv

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在javascript中更改函数内声明的变量

来自分类Dev

如何为构造函数采用右值的类声明变量?

来自分类Dev

更改函数内变量的值

来自分类Dev

如何使用const_reference类型声明变量并将变量赋值给front()函数的返回值

来自分类Dev

如何使用const_reference类型声明变量并将变量赋值给front()函数的返回值

来自分类Dev

如何更改函数内部任何全局变量的值?

来自分类Dev

如何在函数外部使用函数的声明变量,但将其值保留在javascript中?

来自分类Dev

如何在函数外部使用函数的声明变量,但将其值保留在javascript中?

来自分类Dev

全局变量被多个函数更改-如何在Python中声明

来自分类Dev

除了声明它的函数之外,如何更改python中的全局变量值?

来自分类Dev

在使用新属性`声明`后如何更改变量的原始值

来自分类Dev

变量声明如何作为函数工作?

来自分类Dev

如何声明无法插入函数的变量

来自分类Dev

Python,如何多字典声明变量函数

来自分类Dev

声明为非局部的嵌套函数中变量的值如何/什么是设置为?

来自分类Dev

如何使用string(int,char)函数为声明的字符串添加或更改值?

来自分类Dev

如何读取动态声明的bash变量的值?

来自分类Dev

如何更新已声明变量的值

来自分类Dev

如何读取动态声明的bash变量的值?

来自分类Dev

如何更新已声明变量的值

来自分类Dev

如何更改$ SHELL变量的值?

来自分类Dev

void函数如何更改通过值而不是通过引用传递给它的原始变量的值?

来自分类Dev

在 C 中更改函数中变量的值

来自分类Dev

来自函数的变量以获取每个更改的值

来自分类Dev

GAS:在处理程序函数中使用变量时,如何更改全局变量值并保留其更改后的值?

来自分类Dev

函数内部声明的静态变量的值是多少?

来自分类Dev

在函数中声明变量

来自分类Dev

如何使函数参数的值等于变量的值

来自分类Dev

如何使用函数更改返回函数/更改变量?

Related 相关文章

  1. 1

    如何在javascript中更改函数内声明的变量

  2. 2

    如何为构造函数采用右值的类声明变量?

  3. 3

    更改函数内变量的值

  4. 4

    如何使用const_reference类型声明变量并将变量赋值给front()函数的返回值

  5. 5

    如何使用const_reference类型声明变量并将变量赋值给front()函数的返回值

  6. 6

    如何更改函数内部任何全局变量的值?

  7. 7

    如何在函数外部使用函数的声明变量,但将其值保留在javascript中?

  8. 8

    如何在函数外部使用函数的声明变量,但将其值保留在javascript中?

  9. 9

    全局变量被多个函数更改-如何在Python中声明

  10. 10

    除了声明它的函数之外,如何更改python中的全局变量值?

  11. 11

    在使用新属性`声明`后如何更改变量的原始值

  12. 12

    变量声明如何作为函数工作?

  13. 13

    如何声明无法插入函数的变量

  14. 14

    Python,如何多字典声明变量函数

  15. 15

    声明为非局部的嵌套函数中变量的值如何/什么是设置为?

  16. 16

    如何使用string(int,char)函数为声明的字符串添加或更改值?

  17. 17

    如何读取动态声明的bash变量的值?

  18. 18

    如何更新已声明变量的值

  19. 19

    如何读取动态声明的bash变量的值?

  20. 20

    如何更新已声明变量的值

  21. 21

    如何更改$ SHELL变量的值?

  22. 22

    void函数如何更改通过值而不是通过引用传递给它的原始变量的值?

  23. 23

    在 C 中更改函数中变量的值

  24. 24

    来自函数的变量以获取每个更改的值

  25. 25

    GAS:在处理程序函数中使用变量时,如何更改全局变量值并保留其更改后的值?

  26. 26

    函数内部声明的静态变量的值是多少?

  27. 27

    在函数中声明变量

  28. 28

    如何使函数参数的值等于变量的值

  29. 29

    如何使用函数更改返回函数/更改变量?

热门标签

归档