class LazyFuncGenerator

Constants

SETTING_FOR_PREFIX

Public Instance Methods

gen_lazy_func( command, proc_stmt , param_manager) click to toggle source
# File lib/statsailr/block_to_r/sts_lazy_func_gen.rb, line 190
def gen_lazy_func( command, proc_stmt , param_manager)

  inst = proc_stmt[0]
  main_arg = proc_stmt[1]
  opt_args = proc_stmt[2]

  underscored_inst = inst.gsub(/\./, "_")

  setting = LazyFuncGeneratorSetting.new()
  if respond_to?( SETTING_FOR_PREFIX + underscored_inst )
    send( SETTING_FOR_PREFIX + underscored_inst , setting )
  else
    raise "method for this instruction(#{inst})" "is not defined: " + SETTING_FOR_PREFIX + underscored_inst
  end
  libname = setting.libname 
  envname = setting.envname
  func_name = setting.func_name
  func_hash = setting.create_func_arg_hash( main_arg, opt_args )
  result_name = inst

  store_result = setting.store_result
  print_opt = setting.print_opt
  plot_opt = setting.plot_opt

  if libname.nil? || libname == ""
    libname = nil
  end
  if envname.nil? || libname == ""
    envname = nil
  end

  if ! libname.nil?
    lazy_func = RBridge::create_ns_lazy_function( libname, func_name, func_hash, param_manager)
  else
    if ! envname.nil?
      lazy_func = RBridge::create_env_lazy_function( envname, func_name, func_hash, param_manager)
    else
      lazy_func = RBridge::create_lazy_function( func_name, func_hash, param_manager)
    end
  end

  return [ lazy_func, print_opt, plot_opt, store_result, result_name  ]
end