在函数括号外写入参数是什么意思?

时间:2018-01-10 14:04:19

标签: r function

我的怀疑激增,因为我有以下功能:

makeVector <- function(x = numeric()) {
    m <- NULL
    set <- function(y) {
            x <<- y
            m <<- NULL
    }
    get <- function() x
    setmean <- function(mean) m <<- mean
    getmean <- function() m
    list(set = set, get = get,
         setmean = setmean,
             getmean = getmean)
}

get <- function() x指令中,我不明白为什么x被写在括号之外这是一种消解还是什么?

1 个答案:

答案 0 :(得分:1)

?"function"帮助页面中,函数的语法是

function( arglist ) expr

所以你只需要在括号中的参数后面放一个表达式。例如,

foo <- function(x) sqrt(x)

完全没问题。问题是大多数函数需要比运行单个表达式做更多的工作。所以在R中,{基本上是一个创建表达式集合的函数。 (请参阅?"{"帮助页面。)它返回块中最后一个表达式的值。所以这些都是一样的

foo <- function(x) {x}
foo <- function(x) x