[Bug]: Iterator of the for loop is treated as an object in get_code_dependency
还没有人认领这个 Issue。
评估
调研方向
复现报告中的 R 示例,并从报告中提到的 get_code_dependency/get_code 入口开始。跟踪 for 循环迭代器 x 如何被记录为依赖项,然后验证 get_code(q, names = 'x') 不再提取临时循环对象,同时保留 x <- 5。
由索引模型根据 Issue 内容生成。
描述
If object is treated as an iterator in a for loop, like x below, then get_code treats this case as this object created in this for loop, hence even though it's a temporary object (just for the time of the for loop execution) it gets extracted in the get_code
library(teal.code)
q <- within(qenv(), {
a <- 1
b <- 2
}) |> within({
for (x in c(1, 2)) {
b <- a
b <- b + a + 1
b + 3 -> b
}
}) |> within({
x <- 5
})
get_code(q, names = 'x') |> cat()
#> a <- 1
#> b <- 2
#> for (x in c(1, 2)) {
#> b <- a
#> b <- b + a + 1
#> b <- b + 3
#> }
#> x <- 5
Created on 2024-11-27 with reprex v2.1.1
- 主要语言
- R
- 星标
- 12
- 派生
- 11
- 平均合并
- 8 天 15 小时
- 30 天内合并 PR
- 2
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
insightsengineering/teal.code 的其他 Issue
-
Move to Pharmaverse可能已有人在做 @llrs-roche 于 39 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 68/100
insightsengineering/teal.code#292 ·
-
[Feature Request]: High cyclomatic complexity leds to bad readability可能已有人在做 @llrs-roche 于 40 天前认领。 未关闭enhancement
难度 3/5 3-5 天 新手友好度 45/100
insightsengineering/teal.code#295 ·
-
core discussion
难度 5/5 一周以上 新手友好度 25/100
insightsengineering/teal.code#291 · 2 条评论 · 1 个 reaction ·
-
bug core
难度 3/5 1-2 天 新手友好度 45/100
insightsengineering/teal.code#275 ·
-
bug core
难度 4/5 3-5 天 新手友好度 38/100
insightsengineering/teal.code#272 ·
查看 insightsengineering/teal.code 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
HelenaLC/spatialdataR#284 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 71/100
-
难度 2/5 1-3 小时 新手友好度 78/100
-
Hackathon: Tier 1
难度 2/5 1-3 小时 新手友好度 88/100
pharmaverse/logrx#309 ·
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复