James Edward Gray II writes:
> On May 7, 2006, at 1:36 PM, Eric I. wrote:
>
> > Here is my solution to the first option of the quiz, which is
> > simply to detect if there is a problem.  It makes use of the
> > allowed assumption that only one packaging character would be
> > omitted in incorrect input.  So the underlying algorithm is to make
> > sure there are an even number of combined "("s and ")"s (and the
> > same goes for the other two types of packaging).  The String#count
> > method does much of the heavy lifting.
> >
> >
> > ["()", "{}", "[]"].each { |symbol_pair| exit(1) if 0 != ARGV
> > [0].count(symbol_pair) % 2 }
> > puts ARGV[0]
>
> Just thinking out loud here, but how does this fair with inputs like:
>
> ")B(" or "B()"
>
> ?

You're correct, the code I provided could not deal with those  
situations.  However, those should never be presented as inputs  
according to post 191513, which I'll quote:

Ross Bamford writes:
> On Fri, 2006-05-05 at 22:52 +0900, Stuart Holden wrote:
> > Quick question about the phrase 'occasionally missing off a  
> bracket'. Is
> > it possible to have lost more than one braket missing from the  
> string,
> > or will it be a case of 0..1 brackets missing? I assume just one.  
> If it
> > is possible to have more than one bracket missing, you could  
> never trust
> > what the program was saying, even when the string was valid.
> >
> > Ie, [{(B),(B)}] -> [(B),(B)]
> >
>
> Good point. Let's assume just one bracket will be missing, if any.
> Obviously, to fix it, it needs to go back in the right place.

Eric