class Flea::Environment
Attributes
parent[RW]
table[RW]
Public Class Methods
new(parent = nil)
click to toggle source
# File lib/flea/environment.rb, line 7 def initialize(parent = nil) @parent = parent @table = {} add_globals if @parent.nil? end
Public Instance Methods
define(name, value)
click to toggle source
# File lib/flea/environment.rb, line 27 def define(name, value) @table[name] = value end
find(name)
click to toggle source
# File lib/flea/environment.rb, line 20 def find(name) return @table[name] if @table.key?(name) return nil if @parent.nil? @parent.find(name) end
has_variable?(name)
click to toggle source
# File lib/flea/environment.rb, line 13 def has_variable?(name) return true if @table.key?(name) return false if @parent.nil? @parent.has_variable?(name) end
Private Instance Methods
add_globals()
click to toggle source
# File lib/flea/environment.rb, line 33 def add_globals @table.merge!( '#t': true, '#f': false ) end