class Theta::Environment
An environment, stores defined items for a particular level
Attributes
parent[RW]
Public Class Methods
new(parent = nil)
click to toggle source
# File lib/theta/environment.rb, line 8 def initialize(parent = nil) @parent = parent @table = {} if @parent.nil? define("#t".to_sym, true) define("#f".to_sym, false) end end
Public Instance Methods
define(name, value)
click to toggle source
define an item in the environment
# File lib/theta/environment.rb, line 29 def define(name, value) @table[name] = value end
find(name)
click to toggle source
find an item in the environment
# File lib/theta/environment.rb, line 18 def find(name) if @table.has_key?(name) return @table[name] elsif @parent.nil? return nil else @parent.find(name) end end