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