123456789101112131415161718192021222324 |
- class AST::Conditional
- attr_reader :branches
-
- def initialize(branches)
- @branches = branches
- end
-
- def ==(other)
- other.is_a?(AST::Conditional) && other.branches == @branches
- end
-
- def execute(env)
- @branches.each do |branch|
- if branch.condition.execute(env)
- value = nil
- branch.block.statements.each do |statement|
- value = statement.execute(env)
- end
-
- return value
- end
- end
- end
- end
|