directeur de recherche, à l'Inria.
Cette séance va être consacrée à un survol de la syntaxe. Donc, on va vous montrer l'entièreté de la syntaxe. Ne pas s'... ontrer l'ensemble de ce qu'il y a dans Pharo.
On va voir les éléments syntaxiques principaux. On va voir qu’il y a trois sortes de messages. Et puis, on
de Java.
Pour définir un bloc syntaxiquement, on va utiliser les crochets
<code smalltalk>
[ expr1. ... n du bloc ne provoque pas son exécution =====
On va parler de définition d'un block. Je vais vous prendre un autre exemple. Ici, on a une expression:
<co... le faire explicitement en lui envoyant le message value**.
<code smalltalk>
|aBlock|
aBlock := [ 2 +
ue spécifique.
Comme on peut le percevoir ici, on va avoir différents modèles pour modéliser une même ... n avec une approche procédurale ====
D'abord, on va faire une comparaison entre une modélisation proc... . Si on regarde la modélisation procédurale, elle va faire un focus sur les données et les procédures.... gramme.
Dans une vision procédurale du monde, je vais définir une procédure que je peux appeler 'pict
{{tag>dev poo pharo mooc}}
====== Pharo : Les variables ======
Dans cette séquence, on va voir les variables et les différents types de variables qui existent en Pharo.
En fait, il existe deux grands ty
* **Dictionnary** (table de hachage, accès à clé/valeur)
**OrderedCollection** qui est une collection dynamique dont la taille va grossir à chaque fois qu'on ajoute des éléments d... qui est une collection de taille fixe. Et puis on va accéder aux éléments en fonction d'un indice.
**Set**, qui va contenir des éléments mais sans doublon. On ne po
poo}}
====== Pharo : les itérateurs ======
On va revenir sur les collections et voir comment est-c... la puissance des itérateurs en Pharo, et puis je vais vous donner un panorama des principaux itérateu... verra dans la suite du cours, ''collect:'', où on va collecter l'ensemble des noms des personnes.
En ... aque tour de la collection, le paramètre du block vaudra successivement 2, -3, 4, etc. Et puis on va e
TP simple en Pharo ======
Dans cette séquence on va revisiter la syntaxe Pharo, c'est-à-dire qu'on va la revoir quasiment entièrement sur un exemple conc... n toute simple: http donc issue du monde réel. On va analyser le code et revoir tous les points syntax... analyse.
C'est une application Web classique qui va nous afficher des informations sur des livres. Je
aignoires. Ce qu'on voit, c'est que cette machine va créer des milliers de baignoires. Une classe, c'est pareil. Elle va créer des milliers d'objets. Chaque objet est une... sin, etc. Ce qu'il faut voir, c'est qu'une classe va spécifier toutes les variables qui définissent la structure de vos objets. Par exemple, pour la baign
s dans Pharo. Les boucles sont des messages qu'on va envoyer à des objets. Il existe plein de types de boucles différents. Ce sont des messages qu'on va envoyer soit à des nombres, à des collections, vo... nvoie le message "timesRepeat" à l'entier 4 et on va lui passer en paramètre un block. Si vous vous ra... les blocs dans la séquence précédente. Ce message va permettre de répéter l'évaluation de ce block plu
iquement grâce aux messages et à l'assignation de valeurs dans des variables.
La présetation suivante va vous montrer quelques équivalences entre Java et Pharo pour bien ... affectation de cette nouvelle collection dans une variable appelée ''strings''.
Ci dessous voici l'éq
e méthode, c'est comme une recette de cuisine. Je vais avoir une suite d'instructions à suivre et à exécuter. Pour faire des crêpes, je vais mettre des œufs, du lait, du sucre et de la far... partager le même comportement. En fait, quand je vais envoyer un message à une instance, je vais chercher dans la classe. La classe contient toutes les m
recherche, à l'Inria.
Bonjour, cette semaine, on va commencer à rentrer un peu plus dans le vif du su... c'est de minimiser le nombre de parenthèses et on va voir ça à l'œuvre. On prend un exemple. On prend ... r un png, donc j'ai des parenthèses et ce png, je vais le convertir dans un objet graphique Pharo et puis je vais l'ouvrir dans une fenêtre. Je vous suggère de l
d'avoir toutes ces parenthèses. Ce que le système va faire, c'est que quand vous avez des **messages**... ou à mots-clefs, ça marche dans les trois cas, il va toujours les **évaluer de gauche à droite**.
* Là, je vais envoyer le message ''factorial'' à 1000;
* Après, je vais envoyer le message ''class'' aux résultats de f
vocabulaire et une représentation graphique qu'on va réutiliser ensuite dans toutes les présentations ... tangle'', avec tout d'abord son nom, suivi de ses variables d'instance puis ses méthodes dans la trois... se, le nom de la classe ''ColoredRectangle'', ses variables d'instance, ses méthodes.
* La flèche ve... '', elle ajoute:
* De l'état sous la forme de 2 variables d'instance: ''color'' et ''borderedColor''
et au fur à mesure de l'utilisation du stream on va pouvoir avancer ou reculer pour pouvoir lire ou é... ream. L'utilisation de ce stream au sein du block va créer une collection qui sera finalement retourné... 'Stream'' sur cette collection-là (ligne 2) et on va regarder les caractères un par un.
Une fois qu'o... aire, c'est envoyer le message next (ligne 6) qui va nous retourner l'élément juste après la position