On Jun 6, 2007, at 7:42 AM, Andreas Launila wrote:

> Another way of making it clear that we're specifying constraints could
> be to place them all in a block. E.g. something like the following.
>
> in_a_solution do
>   (x + y).must == z
>   x.must > z
>   y.must_not be_in(1..4)
>   distinct x,y,z
> end
>
> Possibly also sending the variables through the method with the block
> (which would clearly declare which variables that constitute a  
> solution).
>
> in_a_solution_with(x,y,z) do |x,y,z|
>   (x + y).must == z
>   x.must > z
>   y.must_not be_in(1..4)
>   distinct x,y,z
> end

This could possibly be an option.  You could choose to write:

constrain ...
constrain ...
constrain ...

or:

constrain do
   ...
   ...
   ...
end

James Edward Gray II