class Halunke::Interpreter::Context

Attributes

parent[R]

Public Class Methods

new(parent = nil) click to toggle source
# File lib/halunke/interpreter.rb, line 53
def initialize(parent = nil)
  @parent = parent
  @context = {}
end

Public Instance Methods

[](name) click to toggle source
# File lib/halunke/interpreter.rb, line 63
def [](name)
  @context.fetch(name)
rescue KeyError
  raise KeyError if @parent.nil?
  @parent[name]
end
[]=(name, value) click to toggle source
# File lib/halunke/interpreter.rb, line 58
def []=(name, value)
  raise FrozenError if key? name
  @context[name] = value
end
create_child() click to toggle source
# File lib/halunke/interpreter.rb, line 74
def create_child
  Context.new(self)
end
key?(name) click to toggle source
# File lib/halunke/interpreter.rb, line 70
def key?(name)
  @context.key?(name)
end