Rook - это интерфейс веб-сервера и программный пакет для языка R.

Rook - это интерфейс веб-сервера и пакет программного обеспечения для R, аналогичный Ruby's Rack. Это позволяет создавать приложения, работающие на встроенном веб-сервере R или в rApache. В своем создании он заимствовал у Ruby's Rack и какое-то время даже использовал название "Rack".

Приложение Rook - это объект ссылочного класса R, который реализует call метод или замыкание R, которое принимает ровно один аргумент, среду и возвращает список с тремя именованными элементами: status, headers а также body,

Примеры:

Вот основное приложение Rook в качестве замыкания:

function(env) {
  body=paste('<h1>Hello World! This is Rook', env$rook.version, '.</h1>')
  list(status=200L,
       headers=list('Content-Type'='text/html'),
       body=body)
}

И эквивалентный пример справочного класса:

setRefClass('HelloWorld',
            methods=list(call=function(env) {
                                body=paste('<h1>Hello World! This is Rook', 
                                           env$rook.version, '.</h1>')
                                list(status=200L,
                                     headers=list('Content-Type'='text/html'),
                                     body=body)
                              }))

Ресурсы: