You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用purrr::partial封装glue后与purrr::map搭配报错:.x未找到

报错原因解析
  • glue的变量查找规则:glue解析模板时,会在自身被调用的环境里查找变量,而非函数定义的环境。当你在map的lambda(~)里直接调用glue,lambda的环境里包含.x,所以glue能正常找到这个变量。

  • partial的环境绑定特性:用purrr::partial封装glue得到glue_css时,partial会把这个新函数绑定到创建它的环境(此处为全局环境)。当你在lambda里调用glue_css,glue实际的调用环境变成了全局环境——而全局环境里根本没有.x这个变量,因此会报“.x未找到”的错误。

  • 两种调用的核心差异:

    • 直接调用glue:调用环境是lambda的局部环境,.x存在,模板正常解析。
    • 调用glue_css:partial固定了glue的调用环境为全局环境,lambda里的.x不在这个环境的查找链中,自然无法被找到。

可以用代码验证环境差异:

# 查看glue_css绑定的环境
environment(glue_css)
# 输出:<environment: R_GlobalEnv>

内容的提问来源于stack exchange,提问作者MLEN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 15:57:33