Or maybe using a perl module that doesnt exist in Python? I was looking at MP3::Napster the other day but Im stuck on Windows. ----- Original Message ----- From: "Gisle Aas" <gisle@ActiveState.com> To: "Michel Pelletier" <michel@digicool.com> Cc: <zope-perl@zope.org>; <amos@digicool.com> Sent: Wednesday, September 06, 2000 1:33 PM Subject: Re: [Zope-Perl] Send me your Perl Methods
Michel Pelletier <michel@digicool.com> writes:
Gisle Aas wrote:
I'm also looking for interesting examples :-)
Do you have any interesting PythonMethod examples? I can probably translate it to perl for you.
Yes, I thought that was a good approach. I don't really have any good python methods either, but I can come up with some.
Here's an algorithm I did in the Globbing Lexicon component of Zope. This turns a string into 'digrams' Which is a common wild-card searching datastructure. So:
bob => ['$b', 'bo', 'ob', 'b$'] python => ['$p', 'py', 'yt', 'th', 'ho', 'on', 'n$']
Dollar signs mark the beginning and ending of the word.
def digram(word): """ """ digrams = [] digrams.append('$' + word[0]) # mark the beginning
for i in range(len(word)): digrams.append(word[i:i+2])
digrams[-1] = digrams[-1] + '$' # mark the end
return digrams
There's probably a better way to do it in Python, and this should be Perl's forte. Can someone come up with a reasonably cool Perl method that did this?
sub digram { my $word = shift; my @digrams; push(@digrams, '$' . substr($word, 0, 1)); push(@digrams, substr($word, $_, 2)) for 0 .. length($word)-1; $digrams[-1] .= '$'; return \@digrams; }
I'm not so sure about this being perl's forte. There was no way to use regular expressions here :-)
I would actually like to see some methods that interact more with the Zope environment.
Regards, Gisle
_______________________________________________ Zope-perl maillist - Zope-perl@zope.org http://lists.zope.org/mailman/listinfo/zope-perl