knitr (version 1.19)

knit_engines: Engines of other languages

Description

This object controls how to execute the code from languages other than R (when the chunk option engine is not 'R'). Each component in this object is a function that takes a list of current chunk options (including the source code) and returns a character string to be written into the output.

Usage

knit_engines

Arguments

Format

An object of class list of length 5.

Details

The engine function has one argument options: the source code of the current chunk is in options$code. Usually we can call external programs to run the code via system2. Other chunk options are also contained in this argument, e.g. options$echo and options$eval, etc.

In most cases, options$engine can be directly used in command line to execute the code, e.g. python or ruby, but sometimes we may want to specify the path of the engine program, in which case we can pass it through the engine.path option. For example, engine='ruby', engine.path='/usr/bin/ruby1.9.1'. Additional command line arguments can be passed through options$engine.opts, e.g. engine='ruby', engine.opts='-v'.

See str(knitr::knit_engines$get()) for a list of built-in language engines.

References

Usage: https://yihui.name/knitr/objects/; examples: https://yihui.name/knitr/demo/engines/

Examples

Run this code
# NOT RUN {
knit_engines$get("python")
knit_engines$get("awk")
names(knit_engines$get())
# }

Run the code above in your browser using DataCamp Workspace