Hi -- On Tue, 8 Sep 2009, Jim wrote: > i am writing plugins for sketchup and use a module to encapsulate and > protect my variable and methods from name clashes. > > Is there any difference between the following? > > module A > def A.say_hi # or self.say > puts "hi" > end > end > > module B; end > def B.say_hi > puts "hi" > end The only difference I'm aware of has to do with constant resolution: H = "Hi from top level" module A H = "Hi from A" def A.say_hi puts H end end module B H = "Hi from B" end def B.say_hi puts H end A.say_hi # Hi from A B.say_hi # Hi from top level David -- David A. Black / Ruby Power and Light, LLC / http://www.rubypal.com Ruby/Rails training, mentoring, consulting, code-review Latest book: The Well-Grounded Rubyist (http://www.manning.com/black2) September Ruby training in NJ has been POSTPONED. Details to follow.