代码之家  ›  专栏  ›  技术社区  ›  Brandon Bertelsen

如何限制变量范围[重复]

r
  •  0
  • Brandon Bertelsen  · 技术社区  · 14 年前

    可能重复:
    Limiting variable scope

    有没有办法强迫R忽略全局环境中设置的所有对象?例如,假设我将“df”作为我的函数之外的对象,我希望在我的函数内使用相同的速记,但不引用全局环境中的对象。

    2 回复  |  直到 13 年前
        1
  •  2
  •   Community CDub    7 年前

    请参阅此问题: "Limiting variable scope"

        2
  •  2
  •   Spacedman    14 年前

    那又怎么样?函数中的df不是全局df。

    > df = 1
    > foo = function(x){df=x*2;return(df)}
    

    现在,当您执行foo(df)时,函数中的df不是全局df。你有什么问题?我想只有当您希望全局df也在您的函数中时,这可能是一个问题,在这种情况下:

    • 不要在函数中使用全局变量-它会破坏函数样式
    • 如果是不同的,请使用不同的名称。