class Fop::Program

Public Class Methods

new(instructions) click to toggle source
# File lib/fop/program.rb, line 3
def initialize(instructions)
  @instructions = instructions
end

Public Instance Methods

apply(input) click to toggle source
# File lib/fop/program.rb, line 7
def apply(input)
  input = input.clone
  output =
    @instructions.reduce("") { |acc, ins|
      result = ins.call(input)
      return nil if result.nil?
      acc + result.to_s
    }
  input.empty? ? output : nil
end