我的怀疑激增,因为我有以下功能:
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被写在括号之外这是一种消解还是什么?
答案 0 :(得分:1)
在?"function"
帮助页面中,函数的语法是
function( arglist ) expr
所以你只需要在括号中的参数后面放一个表达式。例如,
foo <- function(x) sqrt(x)
完全没问题。问题是大多数函数需要比运行单个表达式做更多的工作。所以在R中,{
基本上是一个创建表达式集合的函数。 (请参阅?"{"
帮助页面。)它返回块中最后一个表达式的值。所以这些都是一样的
foo <- function(x) {x}
foo <- function(x) x