**Challenge yourself**
Ejercicio tomado del libro Challenge Yourself
[Learning Object-Oriented Programming, Design with TDD in Pharo](https://files.pharo.org/books-pdfs/learning-oop/2018-04-01-LearningOOP.pdf)
4.1. Challenge: Message identification
For each of the expressions below, fill in the answers:
* What is the receiver object?
* What is the message selector?
* What is/are the argument (s)?
* What is the result returned by this expression execution?
* receiver: => 3
* selector: => +
* arguments: => 4
* result: => 7
* receiver: Date
* selector: today
* arguments: no existe argumento en este caso
* result: 2025/04/23
* receiver: => #('' 'World')
* selector: => at: put:
* arguments: => `1` 'Hello'
* result: {Hello} . { Word}
* receiver:=> #(1 22 333)
* selector: => at:
* arguments: => 2
* result: => 22
receiver: #(2 33 -4 67)
selector: collect
arguments: [ :each | each abs ]
result: '2 33 4 67'
* receiver: => 25
* selector: => @
* arguments: => 50
* result: => (25@50)
* receiver: SmallInteger
* selector: maxVal
* arguments:
* result: 1152921504606846975
* receiver: => #(a b c d e f)
* selector: => includesAll:
* arguments: => #(f d b)
* result: => true
* receiver: => true
* selector: => |
* arguments: => false
* result: => true
* receiver: => Point
* selector: => selectors
* arguments: ninguno
* result: 120 items
* receiver: => 4
* selector: => {between:} {and:}
* arguments: => {0} [10}
* result: => true
4.2 Challenge: Literal objects
What kind of object does the following literal expressions refer to? It is the
same as asking what is the result of sending the class message to such expressions.
* Número
* símbolo
* arreglo
* cadena
* bloque

* caracter
* binario
* número
4.3 Challenge: Kind of messages
Examine the following messages and report if the message is unary, binary or
keyword-based.
* unario
* unario

* keyword
* unario
* binario
* unario

* keyword
4.4 Challenge: Results
Examine the following expressions. What is the value returned by the execution of the following expressions?
* -2
* -2
* 32
* second
* 1 => 4
2 => 9
3 => 100
4 => 9
* 5
* -32
* true
4.5 Challenge: unneeded parentheses
Putting more parentheses than necessary is a good way to get started. Such
practice however leads to less readable expressions. Rewrite the following
expressions using the least number of parentheses.
* a
b
f
* En este caso, se genera un error en los parentesis de la segunda "x", y no sé, si es error al copiar y ejecutar el código o se debe modificar la x y los parecntesis, pero no se si esta acción cambia el resultado.
* 1 = 56
2 = 33
* 17 es el resultado, pero se pueden retirar los parentesis de afuera.
* 501