Class: Code::Node::Statement
- Inherits:
-
Object
- Object
- Code::Node::Statement
- Defined in:
- lib/code/node/statement.rb
Instance Method Summary collapse
- #evaluate(context) ⇒ Object
-
#initialize(statement) ⇒ Statement
constructor
A new instance of Statement.
Constructor Details
#initialize(statement) ⇒ Statement
Returns a new instance of Statement.
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/code/node/statement.rb', line 4 def initialize(statement) if statement.key?(:nothing) @statement = ::Code::Node::Nothing.new elsif statement.key?(:boolean) @statement = ::Code::Node::Boolean.new(statement[:boolean]) elsif statement.key?(:number) @statement = ::Code::Node::Number.new(statement[:number]) elsif statement.key?(:string) @statement = ::Code::Node::String.new(statement[:string]) elsif statement.key?(:call) @statement = ::Code::Node::Call.new(statement[:call]) elsif statement.key?(:name) @statement = ::Code::Node::Name.new(statement[:name]) elsif statement.key?(:list) @statement = ::Code::Node::List.new(statement[:list]) elsif statement.key?(:dictionnary) @statement = ::Code::Node::Dictionnary.new(statement[:dictionnary]) else raise NotImplementedError.new(statement.inspect) end end |
Instance Method Details
#evaluate(context) ⇒ Object
26 27 28 |
# File 'lib/code/node/statement.rb', line 26 def evaluate(context) @statement.evaluate(context) end |