From: Joe Van Dyk Date: 2006-09-12T08:21:33+09:00 Subject: Re: passing function into another function On 9/11/06, ara.t.howard@noaa.gov wrote: > On Tue, 12 Sep 2006, Joe Van Dyk wrote: > > > Hi, > > > > I couldn't work out the syntax for the following: > > > > class Reports > > def self.This; end > > def self.That; end > > end > > > > def do_something_with_a_report report > > # calls Reports::This or Reports::That, dtermined by what report is > > # something like report.call ? > > end > > > > I want to do something like: > > > > do_something_with_a_report Reports::This > > > > But that calls Reports::This and sends that value to the > > do_something_with_a_report function. > > > > In other words, I want to do something like passing a function pointer > > to a function in C. > > > > harp:~ > cat a.rb > class Reports > def self.This; p 'This'; end > def self.That; p 'That'; end > This = method 'This' > That = method 'That' > end > > def do_something_with_a_report report > report.call > end > > do_something_with_a_report Reports::This > do_something_with_a_report Reports::That > > > harp:~ > ruby a.rb > "This" > "That" > > you could also just > > do_something_with_a_report Reports::method('This') > do_something_with_a_report Reports::method('That') Ah, Object#method. Thank you both! Joe