This didn't seem to work either. I was getting errors the number of arguments expected being two, when I changed to
def add (self, args):
I seem to remember that if I removed the parentheses around sub, pred, obj, it worked. I thought that was how it worked. What is strange is that this is not reported as an error on the books page. So, it should have worked as is with either Python 2.7, which I have installed or Python 3.0 which I also have installed. So, it seems like it would have worked as is for one of the versions of Python, but it doesn't seem to work that way. I'll paste a link to where the code exists. Could someone help me figure it out please. The code is here on the site:
http://semprog.com/content/the-book/

I wonder if I can also try it out from the IDLE interactive session.
Thanks,
Bruce

On Sun, Jul 10, 2011 at 11:32 AM, Bruce Whealton <br...@whealton.info> wrote:
problem with is this line:
    def add(self, (sub, pred, obj)):
I think the problem is with the parentheses before the sub. I removed those and that seemed to fix that error or make it go away. I don’t remember how I figured that out, It should be on the Errata page for sure.
Then it has a problem with this line:
    print list(g.triples((None, None, None)))
If I was using python 3, it would require () around the thing that is going to be printed, right? Maybe python 2.7 doesn’t like this line for the same reason.


The issue there is with tuple unpacking. To match the older syntax,
don't touch the call, but change the definition thus:
def add(self, args):
 (sub, pred, obj)=args

Or, of course, simply list the arguments directly, rather than in a
tuple; but that requires changing every call (if it's a small program
that may not be a problem).

You're right about needing parentheses around the print() call; in
Python 2 it's a statement, but in Python 3, print is a function like
any other.

Regarding the module search path, this may help:
http://docs.python.org/dev/tutorial/modules.html#the-module-search-path

Chris Angelico
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to