class Markdownplus::Julia::JuliaHandler

Public Instance Methods

execute(input, parameters, variables, warnings, errors) click to toggle source
# File lib/markdownplus/julia.rb, line 7
def execute(input, parameters, variables, warnings, errors)
  output = nil
  file = Tempfile.new(['julia-script','.jl'])
  begin
    parameters.each_with_index do |param,i|
      if param.respond_to?(:to_julia)
        file.write(param.to_julia)
      else
        warnings << "Parameter [#{i}] does not respond to to_julia"
      end
    end
    file.write(input)
    file.close
    output = `julia #{file.path}`
    output.gsub!(/\n\s+/,"\n")
  ensure
    # file.unlink
  end
  output
end