The difference between the "." and "::" forms arises when the method
name starts with a capital letter and has to do with how Ruby figures
out what you're trying to do at runtime. Using your example above, the
"." and "::" forms are the same.
But, if you change myproc to Myproc, there is a difference. Ruby will
assume that MyClass::Myproc is an attempt to access a constant, and
that MyClass.Myproc, MyClass.Myproc(), and MyClass::Myproc() are
method invocations.
HTH,
Jim