class Teacher::TopLevel
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
Teacher::Scope::new
# File lib/teacher/scope.rb, line 22 def initialize(*args) super self["min"] = Function.new(self) do |*arguments| arguments.min_by { |a| a.eval(self) } end self["sub"] = self["substitute"] = Function.new(self) do |target, origin| loop do target = target.eval(self) break if target.is_a?(Identifier) end @symbols[target.text_value] = origin.eval(self) end self["pub"] = self["publish"] = Function.new(self) do |identifier| @published_variables[identifier.text_value] = identifier.eval(self) end end