本文主要是介绍R语言【base】——通过超赋值符(<<-)向上层环境中的变量写入值,或者在上层环境中创建新变量并写入值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Package base version 4.3.2
在 R 语言中,处在某一个环境层的代码都拥有读入上一环境层的变量的权限,但相反地,若只通过标准的赋值运算符 <-
,是无法向上一环境层写入变量的。若想在上一环境层进行赋值行为,即向上一层次写入变量,则需要用到 <<-
(superassignment)运算符。
一般说来, <<-
多用于在顶层环境中写入变量。然而需要注意的是,以 <<-
执行赋值时,会一直向上直至顶层进行变量查找。若在查找过程中寻找到该名称的变量,就会进行赋值操作。否则,将在顶层环境中创建变量并赋值。
test_suprassign <- function(){a <- 1b <- 2nxta <- function(){a <<- a + 1}nxtc <- function(){c <<- b + 1}nxta()nxtc()c
}> test_suprassign()
[1] 3> a
错误: 找不到对象'a'> b
错误: 找不到对象'b'> d
[1] 3
这篇关于R语言【base】——通过超赋值符(<<-)向上层环境中的变量写入值,或者在上层环境中创建新变量并写入值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!