Sha256: f4261c1491a9847522b624249ab6086637128a37798f91447f11f8413f4161e4
Contents?: true
Size: 808 Bytes
Versions: 32
Compression:
Stored size: 808 Bytes
Contents
# frozen_string_literal: true class Code class Node class SquareBracket < Node def initialize(parsed) @left = Node::Statement.new(parsed.delete(:left)) @statements = parsed .delete(:statements) .map { |statement| Node::Statement.new(statement) } super(parsed) end def evaluate(**args) left = @left.evaluate(**args) @statements.reduce(left) do |object, statement| object.code_fetch(statement.evaluate(**args)) end end def resolve(**args) left = @left.resolve(**args) list = Object::IdentifierList.new([left]) @statements.each do |statement| list.code_append(statement.evaluate(**args)) end list end end end end
Version data entries
32 entries across 32 versions & 1 rubygems