1234567891011121314151617181920212223242526 |
- module Chervil::AST
- class Identifier
- attr_reader :name
-
- def initialize(name)
- @name = name
- end
-
- def ==(other)
- @name == other.name
- end
-
- def evaluate(env)
- value = env.get(@name)
- if value.nil?
- ::Chervil::Error.new("unbound variable #{@name}")
- else
- if value.respond_to?(:evaluate)
- value.evaluate(env)
- else
- value
- end
- end
- end
- end
- end
|