SquareBracketAssociates / NewPharoByExample9

The PharoByExample9 repository since to have a broken history. Now the book versioning is moved to this repository to get work done.
10 stars 8 forks source link

Chapter 9 #9

Closed Ducasse closed 2 years ago

Ducasse commented 2 years ago

p. 106 "A receiver can be the first element of a message" - contradicts to the terminology, because "A message is composed of a message selector and optional message arguments". So it should be "A receiver can be the first element of an expression" (or message sent).

p. 107

The same situation: "For example in the message Pen new go: 100": the messages are "new" and "go: 100" but "Pen new go: 100" is an expression. The table: "100 pixels" jumped from third column to second one The table: "100 is increased by 20" is it true? The object 100 will be modified or the new object 120 will be created? p. 108 "Unary messages ... not containing a colon ():)" - the first rigth parenthese is needless.

p. 111

Wrong result in the example "[:aClass | aClass methodDict keys select: [:aMethod | (aClass>>aMethod) isAbstract ]] value: Boolean". It returns an Array, not an IdentitySet. Should be ">>> #(#ifTrue: #| #xor: #asBit #ifFalse:ifTrue: #ifFalse: #ifTrue:ifFalse: #or: #& #and: #not)" some strange situation: several times in the book were written "Class>>methodName isn't a syntax, this is only a way to note..." but now we saw in the example (aClass>>aMethod) - !?!? Decomposing the execution of aPen color: Color yellow in the last example - should it be double quoted as a comment? p. 112 The reference to Figure 9-4 is missing

p. 113 Bad formatting of the last example. Should "Example of Parentheses." be a comment?

p. 115

There are not references to Figures 9-7, 9-8. A strange situation: Decomposing 20 + (2 5) has the title an 20+25 has not. How about a common style of examples? p. 116

Figure 9-10: the receiver Bot new is not underlined Figures 9-9, 9-10 are very nice but there are not references to it. The table: "aPen go: 100 + 20=" = should be deleted p. 117 Bad formatting of the last example.

p. 118

"aReceiverExpression msg1 ; msg2 ; msg3" need we spaces before semicolons? "the first cascaded message is setX:setY since it is followed by a cascade" - "followed by a semicolon" would be better. Or not? p. 119

"Unary messages are messages that do not require any argument. They are of the form: selector." - according to the next items of the list it should be "... They are of the form: receiver selector.", selector - bold "Binary messages are messages that involve two objects, the receiver and another object" - another object OR an argument? "receiver selectorKeywordOne: argumentOne KeywordTwo: argu�mentTwo ... KeywordN: argumentN" - KeywordTwo:, KeywordN should start with lowercase.

Ducasse commented 2 years ago

Taken into account