A toy dynamic programming language written in Ruby
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

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