On Jan 26, 2013, at 6:46 PM, Zee <notifications@github.com> wrote:

> In lib/sudoku/puzzle/choice_vector.rb:
> 
> > +  end
> > +
> > +  def and(argument_vector)
> > +    apply_operator(:&, argument_vector)
> > +  end
> > +
> > +  def nand(argument_vector)
> > +    Sudoku::Puzzle::ChoiceVector.new apply_operator(:&, argument_vector).values.collect {|v| !v}
> > +  end
> > +
> > +  def or(argument_vector)
> > +    apply_operator(:|, argument_vector)
> > +  end
> > +
> > +  def nor(argument_vector)
> > +    Sudoku::Puzzle::ChoiceVector.new apply_operator(:|, argument_vector).values.collect {|v| !v}
> Same here. Obviously creating two new choice vectors is more processor intensive than how it's written though.
> 

Those long ones are workarounds for the #apply_operator thing. Basically there are only about 5 things that are single Ruby operators. The rest are only reachable through multiple manipulations.

Bill Tozier
Line
Vague Innovation, LLC
bill@vagueinnovation.com