====== 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
on de la vidéo =====
Présentation par Stéphane Ducasse, direction de recherche, Inria.
Une classe, en... .
Ç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
on de la vidéo =====
Présentation par Stéphane Ducasse, directeur de recherche, à l'Inria.
Cette séa... 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
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
de la vidéo =====
Cours présenté par Stéphane Ducasse, directeur de recherche à l'Inria.
Dans cette ... socket, un fichier, de la 3D par exemple dans ce cas-là, mais un serveur Web ça sera exactement pareil
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
e ''CounterTest'' qui hérite de la classe **''TestCase''**.
<code>
TestCase subclass: #CounterTest
instanceVariableNames: ''
classVariableNames: ''
pack