前の記事で ```{awk} ... ``` が動かないと書いた。
https://gedevan-aleksizde.github.io/rmarkdown-cookbook/custom-engine.html
の「15.1 カスタム言語エンジンを登録する」を読んで,以下のように解決した(のかな?)。
最初に一回だけ,以下の R スクリプトを実行する。
knitr::knit_engines$set(awk = function(options) {
code <- paste(options$code, collapse = '\n')
out <- system2('awk', shQuote(code), stdout = TRUE)
knitr::engine_output(options, code, out)
})
この後,awk によるチャンクを書く。
```{awk}
BEGIN {
for(i = 1; i <= 10; i++) {
print i, sqrt(i)
}
}
```
実行すると,以下の結果を得る。
## 1 1 ## 2 1.41421 ## 3 1.73205 ## 4 2 ## 5 2.23607 ## 6 2.44949 ## 7 2.64575 ## 8 2.82843 ## 9 3 ## 10 3.16228 ```{awk} BEGIN {print "Hello, world!"} ```
## Hello, world!
※コメント投稿者のブログIDはブログ作成者のみに通知されます