function
R では、4 番目の要素が常に最初の 3 つの要素で構成されているように見えるという意味で、演算子の解析ツリーが冗長に見えることに気付きました。
例えば、
> as.list(substitute(function(x = 1){x^2}))
[[1]]
`function`
[[2]]
[[2]]$x
[1] 1
[[3]]
{
x^2
}
[[4]]
function(x = 1){x^2}
私が気づいたことの 1 つは、関数が入力された形式が 4 番目の要素に格納されていることです。
> as.list(substitute(function(x = 1){
+ x^2})[[4]]
function(x = 1){
x^2}
解析ツリーのこの 4 番目の要素の目的は何ですか? それが使用されているのを見ることができるのは、関数を逐語的に印刷したい場合だけです。これは、関数を印刷することですでに実行できます。
> f = function(x = 1){
+ x^2}
> f
function(x = 1){
x^2}