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.