0
我知道局部函數是如何工作的。但是,當我查看partial()的源代碼時,我不太明白它是如何工作的。有誰能告訴我每條線的工作原理嗎?瞭解pryr軟件包(R語言)中partial()函數的代碼?
> partial
function (`_f`, ..., .env = parent.frame(), .lazy = TRUE)
{
stopifnot(is.function(`_f`))
if (.lazy) {
fcall <- substitute(`_f`(...))
}
else {
fcall <- make_call(substitute(`_f`), .args = list(...))
}
fcall[[length(fcall) + 1]] <- quote(...)
args <- list(... = quote(expr =))
make_function(args, fcall, .env)
}
<environment: namespace:pryr>
什麼是`_f`?爲什麼以這種方式使用替代品()
substitute(`_f`(...))
這是什麼?
quote(expr =)
爲什麼需要以下行?
fcall[[length(fcall) + 1]] <- quote(...)
感謝漂亮的解釋!如何解釋expr =在報價中?爲什麼有必要? – user2149631