Chervil is a toy Lisp interpreter written in Ruby
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

env.rb 470B

12345678910111213141516171819202122232425262728293031
  1. module Chervil
  2. class Env
  3. attr_reader :data
  4. def initialize(parent = nil)
  5. @data = Hash.new
  6. Core::CORE.each do |k, v|
  7. set(k, v)
  8. end
  9. Core::NATIVE_CORE.each do |k, v|
  10. Core.eval(v, self)
  11. end
  12. unless parent.nil?
  13. parent.data.each do |k, v|
  14. set(k, v)
  15. end
  16. end
  17. end
  18. def get(name)
  19. @data[name]
  20. end
  21. def set(name, value)
  22. @data[name] = value
  23. end
  24. end
  25. end