Hi,

I have been using ruby for awhile, but I still know very little about it
:(.

Today I read the uri.rb file because I need to port a piece of Java code
to ruby. I found that I cannot understand uri.rb at all!

1. what is the use of nested modules? i.e., why?

2. What is the meaning of the following code? especially the "(?:" and
"(?# 1:"?

	(#{PATTERN::SCHEME}):                     (?# 1: scheme)
	(?:
	   (#{PATTERN::OPAQUE_PART})              (?# 2: opaque)

Could any expert here point me to the right direction? Where can I find
a book or online resource that explain these advanced topics?

Thanks a lot.

Sincerely,
Shannon