The three rules of Ruby Quiz:

1.  Please do not post any solutions or spoiler discussion for this quiz until
48 hours have passed from the time on this message.

2.  Support Ruby Quiz by submitting ideas as often as you can:

http://www.grayproductions.net/ruby_quiz/

3.  Enjoy!

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

There's been some discussion on Ruby Talk lately about Range.member? which tests
if a given element (often a number) is a member of the set the Range object
iterates over.  Obviously, this kind of test is useful in many aspects of
programming, but let's approach this problem from a different angle.

This week's quiz is to build a library that adds a class method called build()
to Regexp.  build() should accept a variable number of arguments which can
include integers and ranges of integers.  Have build() return a Regexp object
that will match only integers in the set of passed arguments.

Here are some examples of possible usage:

	lucky = Regexp.build( 3, 7 )
	"7"    =~ lucky    # => true
	"13"   =~ lucky    # => false
	"3"    =~ lucky    # => true

	month = Regexp.build( 1..12 )
	"0"    =~ month    # => false
	"1"    =~ month    # => true
	"12"   =~ month    # => true
	day = Regexp.build( 1..31 )
	"6"    =~ day      # => true
	"16"   =~ day      # => true
	"Tues" =~ day      # => false
	year = Regexp.build( 98, 99, 2000..2005 )
	"04"   =~ year     # => false
	"2004" =~ year     # => true
	"99"   =~ year     # => true

	num = Regexp.build( 0..1_000_000 )
	"-1"   =~ num      # => false

Some issues you may want to consider while building you're library:

* How should leading zeros be handled?

	Match the hour from a clock formatted in military time (0 to 23).  Hours 0
	through 9 may or may not have a single leading zero.

* Should anything be captured by the returned Regexp?

* How should anchoring work?

	"2004" =~ Regexp.build( 4 )    # => ???