From: Jim Weirich Date: 2006-05-18T23:59:00+09:00 Subject: Re: Partial functions? Berger, Daniel wrote: > Hi all, > > I'm trying to understand a new feature of Python 2.5 (PEP 309) called > "partial functions". Here's the Python example I pulled from Vincent > Foley's blog: [... curry example elided ...] > I understand what it's doing, I just don't understand what purpose of > partial functions would be. Can someone provide a use case for me? Suppose you have a collection of integers, say a = [1,2,3]. And you wanted to create a new array consisting of all the integers in a, but multiplied by 3. We have an array method (collect) that constructs a new array by calling a function of one argument on each element of the array. Now we just need to create a function of one argument to pass to collect: # Convert a 2 arg operator (*) # into a 1 arg function (ie. a lambda). multiply_by_3 = lambda { |n| n * 3 } a = [1,2,3] a_times_3 = a.collect(&multiply_by_3) > Also, can/should we do this in Ruby? We do it all the time. We just don't generally bother to give the newly created function a name: a_times_3 = a.collect { |n| n * 3 } -- Jim Weirich -- Posted via http://www.ruby-forum.com/.