====== Comprendre les messages : Séquence et Cascade ======
On aborde ici deux points, qui sont la **séquence** et la **cascade** d'expression que vous allez retrouver const... oujours le receveur de l'objet. Donc, regardez le cas de figure. J'ai Transcript cr. , Transcript show:... x le faire, je vais utiliser ce qu'on appelle une cascade, c'est le point-virgule. Donc, là je vais fai
st quand même parfaitement utile dans ce genre de cas-là.
Grâce à l'opérateur cascade ';', après avoir ajouté 2, on va explicitement exécuter la méthode "y... et new" ça retourne 2, mais **grâce à l'opérateur cascade suivi de "Yourself"** l'ensemble de l'express... va retourner le nouveau "Set".
Alors pourquoi la cascade retourne systématiquement la valeur retournée
e d'objet en Pharo, ce qui n'est pas forcément le cas dans dans les autres langages.
Donc quelques-une... OrderedCollection new: 1000
</code>
Donc premier cas de figure, j'utilise new.
Deuxième cas de figure, en spécifiant la taille de la collection. Typiqueme... e>
Donc je vais insérer la chaîne Calvin dans la case 1. Et puis je peux demander la taille. L'élément
e vous donne les réponses. En fait, dans les deux cas, ce sont des crochets puisque dans le premier cas, si on veut répéter plusieurs fois l'expression self... age Value à ce block-là. Et puis dans le deuxième cas, x IfEmpty, si x n'est pas vide alors dans ce cas-là il ne faut pas du tout exécuter l'expression self
uments qui s'appliquent sur un receveur. C'est le cas de la méthode ''factorielle'' qu'on a déjà pu voir. C'est aussi le cas de la méthode ''cr'' qui permet d'afficher une li... s prennent une valeur en argument. Donc, c'est le cas par exemple des opérateurs mathématiques + qui fa
unaires ou à mots-clefs, ça marche dans les trois cas, il va toujours les **évaluer de gauche à droite*... =
* ( ) > Unaire > Binaire > Mots-Clés
* En cas d'égalité: de gauche à droite
Là on voit qu'on ... n obtient alors 11.
Maintenant, là j'ai un autre cas de figure:
<code>
2 raisedTo: 3 + 2
"32"
</code>
port et ceci démarre le serveur HTTP.
Dans les 3 cas, on a une classe, on envoie un message à cette cl... tourner, la méthode va retourner self, et dans ce cas la référence vers la classe Counter.
Le code pré... .
^ self
</code>
On retourne ''self'', dans ce cas-là, ''self'' c'est la classe ''Counter''. Donc la
t les streams et comment les utiliser, dans quels cas ils peuvent être utiles.
Alors qu'est-ce qu'un s... eam**'' et ''**writeStream**'' c'est notamment le cas des fichiers ou les collections.
Le message ''**...
Maintenant, mon tableau contient un 1 suivi de 5 cases vides. Le message ''nextPutAll:'', quant à lui,
er particulièrement à l'envoi de messages dans le cas où ''super'' est le receveur. Alors qu'est-ce que... code smalltalk>
B new bar
"> 20"
</code>
Dans ce cas, on va le faire étape par étape. On envoie le mes... lltalk>
C new bar
"> 100"
</code>
Dans cet autre cas, on crée une instance de la classe C et on lui en
n et Précédence]]
* [[215_messages_sequences_et_cascades|🐥 Comprendre les messages : Séquence et Cascade]]
* [[220_introduction_aux_blocks|🐥 Introductio
.
Ça signifie que vous pouvez, avec votre masse, casser votre baignoire. Vous n'allez pas casser la baignoire de votre voisin, etc. Ce qu'il faut voir, c'e
ont les caractères **'';''**, on appelle ça une **cascade**. La cascade, c'est l'idée de dire je veux **envoyer** tous ces **messages au même objet**. Ça év
tion de la vidéo =====
Présentation par , Damien Cassou membre du groupe de recherche CRIStAL de l'INR... er qu'une méthode est publique parce que c'est le cas de toutes les méthodes. Il n'y a pas de notion de
rnée au moment de l'évaluation du bloc.
C'est le cas de cet exemple.
<code smalltalk>
|aBlock|
aBlock... fait peuvent aussi avoir des arguments. C'est le cas dans cet exemple comme pour les méthodes.
<code
x blocs qui permet de faire l'alternative avec le cas où le booléen est vrai ou faux.
C'est bien deux ... ue la collection n'est pas vide. Sauf que dans ce cas, on a une subtilité supplémentaire: ce bloc prend