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

关于R包glue保留缩进的行为差异及原因咨询

glue包缩进问题的原因解释

这是glue包的两种字符串处理模式导致的差异:

  • 普通模式(默认):当字符串不是以换行开头时,glue会自动修剪换行符后面的所有前导空白字符。所以glue("foo\n bar")里,\n后的两个空格被直接去掉,输出就变成了无缩进的bar。

  • Here Document模式:当字符串以换行开头时(比如你写的多行字符串glue(' foo bar')),glue会切换到这个模式。它会先统计所有非空行的最小前导空白数,然后把每一行的前导空白减去这个最小值,以此保留相对缩进。你的例子里foo行没有前导空白, bar行有2个,所以减去0后,这两个空格就被保留下来了。

另外给你个更简洁的解决方法:直接关闭glue的自动修剪功能,设置trim = FALSE参数就行:

glue("foo\n  bar", trim = FALSE)

这样就能得到你期望的带缩进的输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 10:19:55