From: ts Date: 2001-09-10T00:09:43+09:00 Subject: [ruby-talk:21021] Re: Method parameter >>>>> "C" == =?iso-8859-1?q?Carlos?= writes: C> I have an object with a method that receives a C> function. How can I pass the function to the method C> without enclosing it in a block? You can use #method pigeon% cat b.rb #!/usr/bin/ruby class MyClass def initialize @var1, @var2 = 1, 2 end def set_fn (fp = nil) @fn = if block_given? Proc.new else fp end end def calculate @res = @fn.call(@var1, @var2) end end def my_fn (arg1, arg2) arg1 + arg2 end my_object=MyClass.new my_object.set_fn method(:my_fn) p my_object.calculate my_object.set_fn { |a, b| my_fn(a, b) } # OK! p my_object.calculate pigeon% pigeon% b.rb 3 3 pigeon% Guy Decoux