From: ara.t.howard@... Date: 2006-09-12T08:17:35+09:00 Subject: Re: passing function into another function 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') -a -- in order to be effective truth must penetrate like an arrow - and that is likely to hurt. -- wei wu wei