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

检查包含生成函数的R包tailr时遇到问题

求助:R包tailr的示例简化与生成函数检查问题

我开发了一个名为tailr的R包,核心功能是把递归函数转换为尾递归风格的循环实现——它会先对目标递归函数做静态分析,再将其重构为等价的循环形式。

举个实际的转换例子:
它可以把这个尾递归阶乘函数:

factorial <- function(n, acc) { 
  if (n <= 1) acc else factorial(n - 1, acc * n) 
}

转换成类似以下的循环版本(原转换代码被截断,核心逻辑是用循环替代递归调用):

factorial <- function(n, acc) { 
  .tailr_n <- n 
  .tailr_acc <- acc
  while(TRUE) {
    if (.tailr_n <= 1) return(.tailr_acc)
    .tailr_acc <- .tailr_acc * .tailr_n
    .tailr_n <- .tailr_n - 1
  }
}

现在我遇到了两个棘手的问题:

  • 我原本希望为这个包设计更简化的示例,但因为对问题本身的理解还不够深入,暂时没法实现这一点;
  • 在对包含生成函数的tailr包做合规性检查时,遇到了一些阻碍,导致包的验证流程不顺畅。

有没有大佬能给点思路或者建议?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:22:09