Sha256: 64b5e2552cd1fc9ac2028630be20e6011b56dba81e3a562064d49a628b3146c7

Contents?: true

Size: 682 Bytes

Versions: 1

Compression:

Stored size: 682 Bytes

Contents

#!/usr/bin/env ruby

$:.unshift File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))

require 'evaluator'
require 'readline'

def process(line, vars, quiet = false)
  exit if line == 'exit' || line == 'quit'
  if line =~ /^(\w+)\s*:=?\s*(.*)$/
    vars[$1] = Evaluator($2, vars)
  else
    Evaluator(line, vars)
  end
rescue Exception => ex
  quiet ? nil : ex.message
end

vars = {}
File.read(File.expand_path(File.join(File.dirname(__FILE__), '..', 'evaluator.constants'))).split("\n").each { |line| process(line, vars, true) }

loop do
  line = Readline::readline('> ')
  if !line
    puts
    break
  end
  Readline::HISTORY.push(line)
  puts process(line, vars)
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
evaluator-0.1.6 bin/evaluator