On Thu, May 29, 2008 at 12:33 AM, David Chelimsky <[EMAIL PROTECTED]> wrote: > On May 29, 2008, at 12:31 AM, Scott Taylor wrote: > >> >> On May 29, 2008, at 2:25 AM, zuo peng wrote: >> >>> Hi, >>> >>> I've got trouble when describe infinite loop. >>> >>> code snippet: >>> >>> def start_loop >>> while true >>> data = self.server.handle_client >>> if data >>> self.manager.dispatch(data) >>> end >>> end >>> end >>> >>> without the loop, it is easy to test the logic. >>> but how can I describe it to tell the developer ( me :-) ) that there >>> should be an infinite loop inside. >> >> Here's a tip which Aslak gave me several months ago, and I find myself >> repeating it in many different contexts on this mailing list: >> >> One way is with dependency injection: >> >> def start_loop(looping_infinitely = true) > > :) > > I think calling this dependency injection is a bit of a stretch. I agree > with the approach of having a logical default that you can override in the > example, but what exactly is the dependency on? true? > > Regardless of its name, this is a very good solution to the problem at hand.
If ever there were a time to drop Ruby and start using Java + Guice, this would be it. Pat _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users