knit_engines {knitr} | R Documentation |
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.
knit_engines
An object of class list
of length 4.
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'
.
Below is a list of built-in language engines, retrieved via
knit_engines$get()
:
List of 31
$ awk :function (options)
$ bash :function (options)
$ coffee :function (options)
$ gawk :function (options)
$ groovy :function (options)
$ haskell :function (options)
$ lein :function (options)
$ mysql :function (options)
$ node :function (options)
$ perl :function (options)
$ psql :function (options)
$ python :function (options)
$ Rscript :function (options)
$ ruby :function (options)
$ sas :function (options)
$ scala :function (options)
$ sed :function (options)
$ sh :function (options)
$ stata :function (options)
$ zsh :function (options)
$ highlight:function (options)
$ Rcpp :function (options)
$ tikz :function (options)
$ dot :function (options)
$ c :function (options)
$ fortran :function (options)
$ asy :function (options)
$ cat :function (options)
$ asis :function (options)
$ stan :function (options)
$ block :function (options)
Usage: http://yihui.name/knitr/objects; examples: http://yihui.name/knitr/demo/engines/
knit_engines$get("python") knit_engines$get("awk") names(knit_engines$get())