Sha256: 6661ee7ddc5238b90051f3b726beaf86079e7673e3e890a07e6d1a96cd3aba03
Contents?: true
Size: 573 Bytes
Versions: 3
Compression:
Stored size: 573 Bytes
Contents
# frozen_string_literal: true require_relative 'identity' module Basic101 class BinaryOperation include Identity def initialize(operator, right) @operator = operator @right = right end def operate(left, runtime) if @operator.is_a?(Symbol) left_value = left.eval(runtime) right_value = @right.eval(runtime) left_value.public_send(@operator, right_value) else @operator.operate(left, @right, runtime) end end protected def state [@operator, @right] end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
basic101-1.0.2 | lib/basic101/binary_operation.rb |
basic101-1.0.1 | lib/basic101/binary_operation.rb |
basic101-1.0.0 | lib/basic101/binary_operation.rb |