[Tutor] Python 2.7.1 interpreter passing function pointer as function argument and Shedskin 0.7
Frank Chang
frankchang91 at gmail.com
Wed Dec 29 10:25:50 CET 2010
I asked the Shedskin developers about this issue and they are currently
adding support for __call__ . They recommend renaming the class Matcher
__call__ method ,for example as next, and then explicitly call it on line
148 as
lookup_func.next(match).
I followed their suggestion and the Shedskin 0.7 Python to C++ compiler
does not complain about the unbound identifier 'lookup_func' anymore.
I apologize for the cut and paste mangling. Is there a better method
than copy-pasting for including 20 or more lines of python source code in
the tutor posts? Thank you.
def find_all_matches(self, word, k, lookup_func):
lev = self.levenshtein_automata(word, k).to_dfa()
match = lev.next_valid_string('\0')
while match:
follow = lookup_func.test(match) ### line 148 ###
if not follow:
return
if match == follow:
yield match
follow = follow + '\0'
match = lev.next_valid_string(follow)
class Matcher(object):
def __init__(self, l):
self.l = l
self.probes = 0
def test(self, w):
self.probes += 1
pos = bisect.bisect_left(self.l, w)
if pos < len(self.l):
return self.l[pos]
else:
return None
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20101229/cd8481c7/attachment.html>
More information about the Tutor
mailing list