I'm reading the mobi version of the book on my kindle, so I don't have a page number. The kindle reports it as location 480-89. The section entitled "Groovy as Lightweight Java" seems to be missing an example after the last bullet point. It reads "For example in the following code, the learn methods return the class so you can chain calls to learn methods:". But there is no example. The Javabeans section begins immediately after the colon. I assume this is an issue with the mobi formatting, but haven't verified.--Bryan Young

I'm reading the mobi version of the book on my kindle, so I don't have a page number. The kindle reports it as location 480-89. The section entitled...more...

Reported in:
P1.0
(02-Sep-08)

#34320Paper page: 37

According to the context and subsequent
examples etc.

def access(location,weight,fragile)

should be

def access(weight,location,fragile)

--will krespan

According to the context and subsequent
examples etc.
def access(location,weight,fragile)
should be
def access(weight,location,fragile)
...more...

Reported in:
P1.0
(26-May-09)

#39252Paper page: 37

I see the point of about the reasoning of the p.37 example.
It would be nice if we could delete our erratum if we made them incorrectly. wk
--will krespan

I see the point of about the reasoning of the p.37 example.
It would be nice if we could delete our erratum if we made them incorrectly. wk
--will k...more...

Reported in:
P1.0
(12-Aug-08)

#33944Paper page: 37

Last paragraph of the page reads: "it leads to a problems, such as when..."

"a problems" is not correct.--Ethan M

Reported in:
P1.0
(10-May-09)

#39166Paper page: 37

Will Krespan's erratum for page 37 is wrong. Venkat clearly states that they are out of order. It was done for illustrative purposes. Furthermore, in this example, the first parameter (location) is assumed to be a Map. Changing the order would make weight a Map, not something we want to do.--Andy O'Brien

Will Krespan's erratum for page 37 is wrong. Venkat clearly states that they are out of order. It was done for illustrative purposes. Furthermore, ...more...

Reported in:
P1.0
(01-Jun-11)

#47152PDF page: 39

Substitute "print()" to println() "The $ in front of the variable it tells the method println( ).." --Giacomo Cosenza

Reported in:
P1.0
(09-Apr-08)

Fixed: 29-Apr-08, awaiting book release

#31635PDF page: 41

In comparing Java code to Groovy you use the evocative example of the sword-fight scene from Raiders of the Lost Ark. However your reference to a YouTube video (www.youtube.com/watch?v=m5TcfywPj0E) results in an error; YouTube has removed the video.

However, you *can* still find it at AOL (video.aol.com/video-detail/indiana-jones-sword-fight/2100620337). Interestingly it is a YouTube video!--Srivaths Sankaran

In comparing Java code to Groovy you use the evocative example of the sword-fight scene from Raiders of the Lost Ark. However your reference to a You...more...

Reported in:
P1.0
(08-Mar-09)

#38255Paper page: 44

In the table "Type x Condition for truth", for Iterator, instead of "has text", it should be "has next", isn't it ?--Enio Pereira

in the second paragraph after code example. the sentence is not clear. it is said that the first argument is assumed to be a map, but in the call of the method, the paired value arrives in second position. confusing.--Ioan Le Gué

in the second paragraph after code example. the sentence is not clear. it is said that the first argument is assumed to be a map, but in the call of t...more...

Reported in:
P1.0
(10-May-08)

#31961PDF page: 49

"leads to a problems" should read, "leads to problems"

Reported in:
P1.0
(25-Apr-08)

Fixed: 29-Apr-08, awaiting book release

#31724PDF page: 66

"Generics.java:10: cannot find symbol" needs to be "Generics.java:11: cannot find symbol" since line 11 is passing a String to the List.
--Fabian Topfstedt

"Generics.java:10: cannot find symbol" needs to be "Generics.java:11: cannot find symbol" since line 11 is passing a String to the List.
--Fabian Top...more...

In the C code example provided at the bottom of page 76, the char* argument is referred to as "argv" in the formal parameter list; but it is referred to as the variale "value" in the code block within the method definition.--Rick Manocchi

In the C code example provided at the bottom of page 76, the char* argument is referred to as "argv" in the formal parameter list; but it is referred ...more...

Reported in:
P1.0
(29-Sep-08)

#34669Paper page: 76

The text says "BigNumber" instead of "BigDecimal" in the 2nd paragraph (not that I don't wish my raise was a BigNumber...)--Alan Thompson

Reported in:
P1.0
(14-Apr-08)

Fixed: 29-Apr-08, awaiting book release

#31662PDF page: 80

Section 4.4: They allow us to agree upon a certain expectations to be fulfilled.

should read

They allow us to agree upon certain expectations to be fulfilled.--Srivaths Sankaran

Section 4.4: They allow us to agree upon a certain expectations to be fulfilled.
should read
They allow us to agree upon certain expectations to...more...

Reported in:
P1.0
(21-Oct-08)

#35381PDF page: 89

2nd paragraph: "So, the compiler treats the instance of BigNumber as Number."

BigNumber should be BigDecimal.

Reported in:
B2.0
(28-Mar-08)

Fixed: 29-Apr-08, awaiting book release

#31499PDF page: 109

Missing: fix reference to figure here--David Potts

Reported in:
P1.0
(16-Apr-08)

Fixed: 29-Apr-08, awaiting book release

#31676PDF page: 121

The page ends with

...elegant cousin of '\\d*\\w*"

That should be

...elegant cousin of '\\d*\\w*'

--Srivaths Sankaran

Reported in:
P1.0
(03-Jun-08)

#32254Paper page: 129

"Here's an example: friends refers to a map"

Friends is a list, not a map. Also, the short names in the list definition (e.g. briang) are never used.
--Alan Thompson

"Here's an example: friends refers to a map"
Friends is a list, not a map. Also, the short names in the list definition (e.g. briang) are never u...more...

Reported in:
P1.0
(04-Dec-08)

#36280Paper page: 149

The code works with 1.5.6, JVM: 1.5.0_17-b04 on Ubuntu 8.10
I haven't found a jvm that works with Groovy 1.5.7. If I use 1.5.7 to run UsingDOMCategory.groovy I get
Caught: java.lang.StackOverflowError

The languages.xml file in the code download differs from the example in the book on page 148. The xml file in the book works fine, but the one in the download returns empty results.

The code works with 1.5.6, JVM: 1.5.0_17-b04 on Ubuntu 8.10
I haven't found a jvm that works with Groovy 1.5.7. If I use 1.5.7 to run UsingDOMCategor...more...

Does not produce an indented xml document, but a single line string. This is really important to mention and confusing. I don't think there is a way to make the output indented with that Builder.--Fred Janon

Also, my PDF says it is the P2.0 printing, while this errata page says that P1.0 is the latest. --Grammar Police

Figure 12.2 has multiple instances of "it's" used as a possessive.
Also, my PDF says it is the P2.0 printing, while this errata page says that P1....more...

Reported in:
P1.0
(27-Mar-09)

#38574Paper page: 197

one more more classes -> one more to.--Jeremy Flowers

Reported in:
P1.0
(15-Jun-08)

#32394PDF page: 202

4th paragraph, 1st sentence: "...the names of methods you want to add to one more more classes." The word "more" is repeated twice. I'm guessing the first "more" should really be "or".--Justin Spradlin

4th paragraph, 1st sentence: "...the names of methods you want to add to one more more classes." The word "more" is repeated twice. I'm guessing the ...more...

Reported in:
B2.0
(28-Mar-08)

Fixed: 29-Apr-08, awaiting book release

#31500PDF page: 203

Missing: Please make the sect2’s in this chapter appear in table of contents—I don’t know how to do that, but I think
these section titles are important to appear in toc

Missing: they should be title 1s then if they’re that important. –CE--David Potts

Missing: Please make the sect2’s in this chapter appear in table of contents—I don’t know how to do that, but I think
these section titles are import...more...

Reported in:
P1.0
(21-Jul-08)

#33091PDF page: 203Paper page: 218

I suggest discussing propertyMissing. I tried using method injection based on chapter 14 for a property and wondered why I was not seeing setXXX() and getXXX() like I expected.--Christopher M. Judd

I suggest discussing propertyMissing. I tried using method injection based on chapter 14 for a property and wondered why I was not seeing setXXX() and...more...

Reported in:
B2.0
(28-Mar-08)

Fixed: 29-Apr-08, awaiting book release

#31520PDF page: 211

Integer.metaClass.static.isEven should be
Integer.metaClass.'static'.isEven--Tim Orr

Reported in:
B2.0
(28-Mar-08)

Fixed: 29-Apr-08, awaiting book release

#31521PDF page: 214

System.out.println at bottom of page where the more consistent println could be used

because the original source code throw groovy.lang.MissingMethodException
, after the chagne, the code works--Steve Zhang

source code
delegateTo.invokeMethod(name, *varArgs) should be
delegateTo.invokeMethod(name, varArgs),
because the original source code throw ...more...

Reported in:
B2.0
(28-Mar-08)

Fixed: 29-Apr-08, awaiting book release

#31501PDF page: 274

Missing: fix the following xref--David Potts

Reported in:
P1.0
(04-Jul-09)

#39817Paper page: 284

first line should read: ... of the method at() ...--André

Reported in:
B2.0
(28-Mar-08)

Fixed: 29-Apr-08, awaiting book release

#31502PDF page: 286

Missing: fix the following xref--David Potts

Reported in:
B2.0
(02-Aug-09)

#40313Paper page: 295

Add 'as' operator to index, as described in section 3.4 on page 39. Glen Smith was discussing this here:
grailspodcast.com/episode/68
Have posted comment on podcast site too.
About 13 minutes he started mentioing 'as', as being the silver bullet of handling annonymous inner classes when he was doing SWT stuff. I know I'd read about inner classes weren't in Groovy at the time of reading either your book or GinA--Jeremy Fowers

Add 'as' operator to index, as described in section 3.4 on page 39. Glen Smith was discussing this here:
grailspodcast.com/episode/68
Have posted co...more...