WebRを埋め込む
Web上でインタラクティブにコードの動作を確認することができるQuartoの拡張機能であるQuarto Liveを試してみます。
ターミナルに以下のコマンドを入力し、インストールします。
quarto add r-wasm/quarto-live
コードを埋め込みたいqmd
ファイルのフロントマターに以下を記述します。
---
format: live-html
engine: knitr
---
また、本文に{{< include ./_extensions/r-wasm/live/_knitr.qmd >}}
を追加します。
Pythonの場合はformat
の指定だけで大丈夫のようです。 あとは、以下のようにコードブロックを埋め込むことで動作します。
以下にコードを埋め込んでみました。 自分で編集及びコードの実行ができることが確認できます。
自動実行を止める
自動で実行させないようにするには、チャンクオプションでautorun: false
を指定します。
```{webr}
#| autorun: false
123 + 456
```
その他の主なオプションを列挙します。
即座に実行する
runbutton: false
を追加することで、Run code
ボタンを押さず、文字を更新するたびに実行させるようにすることもできます。 コードが完成するまではエラーメッセージが点滅し続けるため、必要なときだけいれると良いと思います。
自動補完
completion: true
を追加することで、自動補完が有効化されます。 これはとても便利な機能だと思います。
初期化ボタンをなくす
startover: false
を追加することで、Start Over
ボタン(初期化ボタン)がなくなります。 あえてこのオプションを追加することはあまりないかもしれません。
時間制限をつける
timelimit
オプションを指定することで、コード実行の時間制限をつけることができます。 単位は秒で、timelimit: 3
とすると、コード実行に3秒以上かかる場合、実行が停止し、エラーが表示されます。 無限ループのコードが含まれる場合などに有効です。
代表的なものを挙げました。 このくらいがわかれば、大体の場合はうまくいくと思います。
最後に
前々から気になっていた技術ですが、とても便利ですね。 Rのハンズオン学習に最適ですね。 私も積極的に使っていきたいと思います。
参考
Quarto Live Documentation
公式のドキュメントです。 ここに仕様などすべて載っています。
quarto-live
Githubのレポジトリ