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