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

learnr教程使用chained setup chunks实现代码块间变量共享的问题

问题原因

  • exercise=TRUE 标记的交互练习块本身不属于可被继承的setup块范畴,exercise.setup 仅会识别不带exercise属性的普通R代码块作为预执行内容,你将c块的exercise.setup指向了作为交互练习的b块,自然无法读取b块内定义的变量。
  • 所有交互练习块的运行环境完全隔离,用户在b块内手动运行生成的变量仅存在于b块的独立环境中,不会同步到其他练习块的环境里。

解决方案

将需要跨练习共享的逻辑抽离为独立的非交互setup块,再按链式规则配置继承关系即可,修改后的示例代码如下:

---
title: "Tutorial"
output: learnr::tutorial
runtime: shiny_prerendered
---

```{r setup, include=FALSE}
library(learnr)
x <- 2
抽离b块中需要共享的赋值逻辑为独立setup块,继承a块的配置
y <- 2 * x
b练习块的预执行指向b-base
y
c练习块的预执行指向b-base即可拿到y变量,多级继承可继续新增非交互setup块逐层配置
y
内容的提问来源于stack exchange,提问作者dobb798
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:57:03