将未评估的表达式列表折叠为单个表达式
collapse a list of unevaluated expressions to single expression
具有以下未计算表达式列表。
l = list(quote(f()),quote(g()),quote(h()))
str(l)
#List of 3
# $ : language f()
# $ : language g()
# $ : language h()
我想使用 &
函数折叠列表,以便得到以下 r
结果。
r = quote(f() & g() & h())
str(r)
# language f() & g() & h()
当然重点是处理任意长度的列表。
您可以为此使用 Reduce
:
Reduce(function(a,b) bquote(.(a) & .(b)), l)
具有以下未计算表达式列表。
l = list(quote(f()),quote(g()),quote(h()))
str(l)
#List of 3
# $ : language f()
# $ : language g()
# $ : language h()
我想使用 &
函数折叠列表,以便得到以下 r
结果。
r = quote(f() & g() & h())
str(r)
# language f() & g() & h()
当然重点是处理任意长度的列表。
您可以为此使用 Reduce
:
Reduce(function(a,b) bquote(.(a) & .(b)), l)