Passing function into another function

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.

On 9/11/06, [email protected] [email protected] wrote:

do_something_with_a_report function.
That = method ‘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

On Tue, 12 Sep 2006, Joe Van D. wrote:

calls Reports::This or Reports::That, dtermined by what report is

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’)

-a