r - Knitr 上的自定义语言引擎
问题描述
根据文档,我在 Knitr 上添加了一个自定义语言引擎。
require(knitr)
knit_engines$set(upper = function(options) {
code <- paste(options$code, collapse = "\n")
if (options$eval)
toupper(code) else code
})
当我将以下命令添加到 Rmd 文件中时,我可以在 RStudio 中运行当前块。
```{upper}
Hello, **knitr** engines!
```.
你好,针织引擎!
但是,如果我尝试将整个文件编织到 html 页面,我将看不到分块代码的结果。我将在 R Markdown 选项卡上收到以下警告消息。
Warning message:
In get_engine(options$engine) :
Unknown language engine 'upper' (must be registered via knit_engines$set()).
那么如何注册引擎以便程序稍后看到呢?
解决方案
---
title: "Untitled"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::knit_engines$set(upper = function(options) {
code <- paste(options$code, collapse = "\n")
if (options$eval)
toupper(code) else code
})
```
```{upper}
Hello, **knitr** engines!
```
推荐阅读
- javascript - 调试 netlify lambda 函数
- java - Android Studio - 应用程序在设备上崩溃但不在模拟器上 - 可能缺少权限
- angular - 未捕获(承诺):ReferenceError:未定义 videoTrimModal
- angular - Angular 7返回Observable不起作用
- azure-devops - Azure DevOps 错误 MSB4184:无法评估表达式“[MSBuild] :: NormalizePath (path)”
- unity3d - 基于 Unity 的 HoloLens 应用程序无法接收 TCP 数据
- react-native - polidea BLE解码特征值在本机反应
- php - 使用 composer 的 autoload 为 tinybutstrong 加载 OpenTBS 插件
- docker - 如何使用 VSCode 的远程开发扩展在容器外的 Docker 容器中打开文件
- swift - UICollectionView 列表中的折叠部分