A toy dynamic programming language written in Ruby
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

environment.rb 435B

1234567891011121314151617181920212223242526272829
  1. class Environment
  2. attr_reader :data
  3. def initialize(parent = nil)
  4. @data = Hash.new
  5. CORE.each do |k, v|
  6. @data[k.to_s] = v
  7. end
  8. unless parent.nil?
  9. parent.data.each do |k, v|
  10. @data[k] = v
  11. end
  12. end
  13. end
  14. def get(name)
  15. if @data.has_key?(name)
  16. @data[name]
  17. else
  18. raise "Undefined variable #{name}"
  19. end
  20. end
  21. def set(name, value)
  22. @data[name] = value
  23. end
  24. end