You're welcome to all of you. I guess all those hours spent online didn't go to waste :)
Hazem On Mar 27, 9:52 pm, David Joyner <wdjoy...@gmail.com> wrote: > This is very cool! > > I remember wanting something like this awhile back but right now I > can't remember > what for. Anyway, I think it could be useful. Thanks! > > On Fri, Mar 27, 2009 at 9:16 PM, Jason Grout > > <jason-s...@creativetrax.com> wrote: > > ... > > > > > One thing that I thought was very interesting was their way of allowing > > for custom inline operators in python. It inspired the following > > @inline_operator decorator. Would this be useful in Sage? > > > class inline_operator: > > def __init__(self, function): > > self.function = function > > self.left = None > > self.right = None > > > def __rmul__(self, left): > > if self.right is None: > > self.left = left > > return self > > else: > > right = self.right > > self.right = None > > return self.function(left, right) > > > def __mul__(self, right): > > if self.left is None: > > self.right = right > > return self > > else: > > left = self.left > > self.left = None > > return self.function(left, right) > > > # EXAMPLE > > > a=[1,2,3] > > b=[3,4,5] > > > # This emul operator returns the element-wise product of two lists... > > @inline_operator > > def emul(a,b): > > return [i*j for i,j in zip(a,b)] > > > # Returns [3,8,15] > > a *emul* b > > > Thanks, > > > Jason --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---