1. Just a minor typo.

    On page 20, the second line of code under "Converting Numbers to Strings" should be Number: 4

    Thanks for the report! Added to the Errata

    I found some more errata:

    Page 33: In the first sentence under "Converting Celsius to Fahrenheit", "Multiply the temperature in degrees Fahrenheit" should be "Multiply the temperature in degrees Celsius". A space is needed between this sentence and the one after it.

    Page 42: In the summary, in "function foo() end", the word "function" should be part of the code.

    Page 62: When I tested the code at the top of the page, I had to set the metatable of tbl1 to mt again and redefine mt.__tostring in order to get the correct results. You should remove the line mt = {} on page 61 to fix this problem. Also, > print(tbl.apple) on page 62 should be > print(tbl1.apple).

    Page 79: In the first sentence of the last paragraph, "Each function is" should be "Each function in".

    Page 85: In Table 6-2, the result of the example for string.len(s) should be 6.

    Page 88: In Table 6-3, the first result listed should read: %c: S

    Page 89: The output of the first example under "In World of Warcraft" should read: 17, 13, 17

    Page 91: In Table 6-5, some strings have quotes around them and some don't. I think it would be better to put quotes around everything, since it will help clarify, e.g. " " instead of space.

    Page 92: In Table 6-7, %a is in the pattern column twice, but the "strings matched" are different. The first is correct, the second is not. Table 6-7 should be consistent with Table 6-5. The entries in the "string matched" column are not in the code font.

    Are people overlooking all these errors, or are they just too lazy/don't know where to report them? =/ Also, why is editing posts not allowed? This quadruple post could have been avoided... :)

    Are people overlooking all these errors, or are they just too lazy/don't know where to report them? =/ Also, why is editing posts not allowed? This quadruple post could have been avoided... :)

    Most of these errors crept in during the later stage of production where we didn't even get to see the changes that were made.  Thanks for reporting them, we hope to get stuff like this fixed in the next printing.  As for editing posts, I just haven't written the code that allows it but it won't be something I get around to for a bit, unfortunately.

    Also, these have been added to the errata pages.  Some of your reports weren't entirely correct (not that you had any way to know that).

    XSSFilter could not parse (X)HTML:
    
    
    
    <blockquote>
    <blockquote>
    <p>Are people overlooking all these errors, or are they just too lazy/don't know where to report them? =/ Also, why is editing posts not allowed? This quadruple post could have been avoided... :)</p>
    </blockquote>
    
    
    <p>Most of these errors crept in during the later stage of production where we didn't even get to see the changes that were made.  Thanks for reporting them, we hope to get stuff like this fixed in the next printing.  As for editing posts, I just haven't written the code that allows it but it won't be something I get around to for a bit, unfortunately.</p>
    
    
    <p>Also, these have been added to the errata pages.  Some of your reports weren't entirely correct (not that you had any way to know that).</p>
    
    <p></blockquote></p>
    
    <p>Okay, I see. Some of the errors I reported didn't seem right.</p>
    
    
    <p>Page 97-98: In Table 6-10, "math.ran" should be "math.tan". "Randomseed", "Sin", and "Sqrt" should not be capitalized. "math.randomseef" should be "math.randomseed". log10 is missing from the table, I'm not sure if any more are missing. Everything in the table should be code.</p>
    
    

    Page 113: The first line of code under "Writing a Custom print() Function" should read: local function argsToString(arg, ...)

    Page 114: In the first bullet, "theLua" should have a space.

    Page 136: When the dimensions of frames are referred to in pixels, that is not true.

    Page 142: In Table 10-5, I don't think the attributes are supposed to be capitalized, but it really doesn't matter.

    Page 234: In the first code snippet under "Setting Up the Lua", Message should not be capitalized.

    Page 236: There is a continuation mark mid-line in the 3rd line under "Making it work".

    Page 272: In the first 2 lines of code, the 4 @@ra should probably be arrows.

    Page 136: When the dimensions of frames are referred to in pixels, that is not true.

    What exactly do you mean here?  There are quite a bit of details on the page, and I don't see anything that's not correct without more information.

    Everything else has been added up until this point.  Thank you for your help!

    In WoW, the height of the screen is always 768 units, regardless of the resolution. Consider a frame with its height set to 768 units that has an effective scale of 1. The frame will have a height of 1050 pixels for someone who is playing at 1680x1050, but will (coincidentally) have a height of 768 pixels for someone playing at 1024x768.

    So just because you defined a frame's width to be 100 units and its height to be 50 units, does not mean it will be 100 pixels wide and 50 pixels tall.

    In WoW, the height of the screen is always 768 units, regardless of the resolution. Consider a frame with its height set to 768 units that has an effective scale of 1. The frame will have a height of 1050 pixels for someone who is playing at 1680x1050, but will (coincidentally) have a height of 768 pixels for someone playing at 1024x768.

    So just because you defined a frame's width to be 100 units and its height to be 50 units, does not mean it will be 100 pixels wide and 50 pixels tall.

    Pixels in that context does NOT refer to pixels on the display, but refers to pixels on the resolution independent coordinate display within WoW.  If the frame is 100 units and its height is set to 50 units, then that frame will in fact be 100x50 as far as World of Warcraft is concerned.  The actual resolution of the display never comes into effect.  Calling it a "pixel" is probably confusing, but less so than just calling it an arbitrary "screen unit" or something similar (imo).

    Okay, I misunderstood when you called it a "pixel". I usually think of pixels in the context of displays.

    Okay, I misunderstood when you called it a "pixel". I usually think of pixels in the context of displays.

    Aye, it can definitely be confusing :P