module RType::R

Public Class Methods

`(r_exp)
Alias for: lazy_expression
init_rsruby() click to toggle source
# File lib/r_type/r.rb, line 36
def init_rsruby
  RSRuby.set_default_mode RSRuby::PROC_CONVERSION
  converter = RType::Convert.new
  @rsruby = RSRuby.instance
  @rsruby.proc_table[->(x){ true }] = ->(x) { converter.convert x }
  @rsruby
end
lazy_expression(r_exp) click to toggle source
# File lib/r_type/r.rb, line 27
def lazy_expression r_exp
  rsruby.eval_R "quote(#{r_exp})"
end
Also aliased as: `
method_missing(name, *args, &block) click to toggle source
# File lib/r_type/r.rb, line 4
def method_missing name, *args, &block
  if name =~ /^(.*)=$/
    rsruby[:assign].call $1.to_s, args.first
  elsif rsruby.respond_to? name
    rsruby.send name, *args
  else
    obj = rsruby[name]
    if obj.is_a?(::RType::Function)
      obj.call *args
    else
      obj
    end
  end
end
print(*args) click to toggle source
rsruby() click to toggle source
# File lib/r_type/r.rb, line 32
def rsruby
  @rsruby ||= init_rsruby
end
run(&block) click to toggle source
# File lib/r_type/r.rb, line 19
def run &block
  instance_eval &block
end

Private Class Methods

reset() click to toggle source
# File lib/r_type/r.rb, line 45
def reset
  @rsruby = nil
end