learnr高级功能探索自定义反馈、进度跟踪与数据持久化【免费下载链接】learnrInteractive Tutorials with R Markdown项目地址: https://gitcode.com/gh_mirrors/le/learnrlearnr是一个基于R Markdown的交互式教程包它提供了丰富的功能来创建引人入胜的学习体验。本文将深入探讨learnr的三个高级功能自定义反馈、进度跟踪和数据持久化帮助你打造更加专业和个性化的交互式教程。自定义反馈提升学习体验的关键自定义反馈是learnr中一个强大而实用的功能它允许教程作者为不同的回答提供针对性的反馈信息从而帮助学习者更好地理解和掌握知识。错误检查与反馈learnr现在能够在用户提交无法解析的R代码时提供预渲染的反馈信息即使在浏览器翻译不可用的情况下也能发挥作用。这一改进大大提升了错误反馈的可用性和及时性。更重要的是learnr允许作者通过tutorial_options()函数的exercise.error.checker选项来自定义错误检查器。例如你可以使用gradethis::grade_learnr_error()作为默认的错误检查器它能提供更加友好和有用的错误反馈。函数式答案反馈通过answer_fn()函数作者可以提供一个自定义函数来评估学生的回答。这个函数接收学生的提交作为参数并通过返回correct()或incorrect()函数来提供反馈。这种方式极大地扩展了learnr的评估能力使复杂的评估逻辑成为可能。answer_fn(function(user_answer) { if (user_answer 42) { correct(太棒了你找到了正确答案。) } else { incorrect(再试一次记得宇宙的终极答案是42。) } })进度跟踪掌握学习节奏learnr提供了内置的进度跟踪功能帮助学习者和教师了解学习进度和完成情况。默认进度跟踪learnr::tutorial格式默认包含了进度跟踪功能它会自动记录学习者完成的练习和问题并在界面上显示总体进度。这种直观的进度指示有助于激励学习者继续前进。自定义进度跟踪对于需要更高级进度跟踪的场景learnr暴露了JavaScript API允许创建自定义的R Markdown格式。你可以参考tutorial-format.js文件了解如何使用tutor JavaScript API来添加自定义的进度跟踪功能。数据持久化保存学习状态数据持久化功能确保学习者的进度和答案不会因为关闭浏览器或刷新页面而丢失这对于长期学习和复习非常重要。客户端存储learnr使用idb-keyval库直接在浏览器的indexedDB中存储教程数据取代了之前的localforage。这一改进避免了浏览器标签在访问indexedDB数据时的相互阻塞问题提高了存储的可靠性和性能。自定义存储选项通过设置options(tutorial.storage ...)你可以自定义learnr的存储行为。learnr提供了多种内置存储选项auto: 自动选择最合适的存储方式local: 使用本地存储client: 使用客户端存储none: 不进行任何存储此外你还可以通过提供一个包含自定义存储函数的列表来实现完全自定义的存储解决方案。例如options(tutorial.storage list( save_object function(name, value) { # 自定义保存逻辑 }, get_object function(name) { # 自定义获取逻辑 }, get_objects function() { # 自定义获取所有对象逻辑 }, remove_all_objects function() { # 自定义清除逻辑 } ))文件系统存储learnr还提供了filesystem_storage()函数它返回一个适合用于options(tutorial.storage ...)的文件系统存储处理程序。这对于需要在服务器端存储学习数据的场景非常有用。结语通过自定义反馈、进度跟踪和数据持久化这三个高级功能learnr为创建交互式教程提供了强大的支持。这些功能不仅提升了学习体验也为教程作者提供了更多的灵活性和控制权。无论你是教育工作者、培训师还是内容创作者learnr都能帮助你打造出更加专业、高效和引人入胜的学习材料。开始使用learnr创建你的第一个交互式教程吧你可以通过以下命令安装learnrinstall.packages(learnr)或者从Git仓库克隆最新版本git clone https://gitcode.com/gh_mirrors/le/learnr探索learnr的更多可能性为你的学习者提供卓越的交互式学习体验【免费下载链接】learnrInteractive Tutorials with R Markdown项目地址: https://gitcode.com/gh_mirrors/le/learnr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考