1. The counter is supposed to be private, but it can be accessed using print(counter)

    The do/end block doesnt limit scope at all. what's up with that?

    eg:

    do

        private = "oh noes"

    end

    print(private)

    > oh noes

    I even tried local counter = 0, but the result was the same.  Interpreter error?

    The counter is supposed to be private, but it can be accessed using print(counter)

    The do/end block doesnt limit scope at all. what's up with that?

    eg:

    do

        private = "oh noes"

    end

    print(private)

    > oh noes

    I even tried local counter = 0, but the result was the same.  Interpreter error?

    well, it seems the example does indeed return nil when the local prefix is used, though local isnt used in the book.

    If local isn't used, then it's an error in the printing.  My apologies.

    I just thought I was going crazy, could swear I tested it with local the first time.

    maybe I didnt save the script after adding the local prefix or forgot to reload it in the interpreter. /sigh

    thank you for your response and a great book!