From: Markus Schirp Date: 2011-04-29T03:03:51+09:00 Subject: Re: calling methods, beginner help Hola, Since I see you got a programming background, but you are *just* new to ruby, I'd suggest you should read some code from guys with IMHO *very* good ruby coding style. (not mine *g*) Try to read code from a random advanced ruby library, most of your questions about API-Design will be answered! You can start with one of my favorite libraries: datamapper https://github.com/datamapper/dm-core I did not got the point in your code so I cannot help you without a better description about what you are trying to do ;) -- Markus On Fri, Apr 29, 2011 at 02:44:31AM +0900, Ronnie Aa wrote: > Thanx for your answers. I know: never use global variables ... and no > monkey patching ...I'll try. > > I'm programming for sketchup api. My code structure is like this > > module Module > > class Do_this > def initialize() > end;end; > > > class Do_that > def initialize() > end;end; > > > > #When I want to execute a command I have to add a button in the GUI of > Sketchup, like this: > > > cmd = UI::Command.new("Do this") {Module::Do_this.new()} > UI.menu("Plugins").add_item(cmd) > > end#module > #------------------------------------------------------- > So as markus suggested > > class Test > def initialize > @array = [10,10] > end > > def product > @array.inject(1) { |s,v| s *= v } > end > end > > And than run *outside* the class: > > object = Test.new > object.product # => 100 > > > Is in my case impossible: it has to run *inside* a class > > Just did some quick reading about procs, is that an option??? > > For extra clearness: > > My class Do_this and my class Do_that both have to use that method.. > They both use the same variable and both have to apply the same > operations on that variable (amongst other things of course).. > > > Please help > > -- > Posted via http://www.ruby-forum.com/.