Notice
Messages: Composition and Precedence
- document 1 document 2 document 3
- niveau 1 niveau 2 niveau 3
Descriptif
Dans ce cours, nous allons aborder la manière de composer des messages et de voir comment marche la précédence, c'est-à-dire qui prend le pas par rapport à un autre. Si on regarde, la question qui se pose c'est "Qu'est-ce qui se passe quand j'ai une séquence de messages unaires?" Là, j'ai écrit l'expression suivante "1000 factorial class name". Il se trouve que ça s'exécute exactement de la même manière que si j'avais mis toutes ces parenthèses et on voit que c'est embêtant d'avoir toutes ces parenthèses. Ce que le système va faire, c'est que quand vous avez des messages qui sont d'un même niveau, ça veut dire binaires, unaires ou à mots-clefs, ça marche dans les trois cas, il va toujours les évaluer de gauche à droite…
Intervention
Thème
Documentation
Dans la même collection
-
Introduction to Blocks
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette séquence, je vous présente les blocks. Les blocks sont des sortes de méthodes anonymes aussi appelées des fermetures lexicales. Elles sont partout dans Pharo. Elles constituent la base
-
[Live] Nautilus 2: Packages, Tags and Groups
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette vidéo, je voudrais vous montrer 2, 3 astuces de Nautilus, donc commençons par l'ouvrir. Donc la première des choses c'est que vous voyez des packages avec des triangles et des packages
-
Understanding Messages
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
On va maintenant commencer à rentrer un peu plus dans le vif du sujet, en particulier de la syntaxe. Ce cours, c'est essentiellement comment vous allez aborder la syntaxe des messages qui sont
-
Parentheses vs Square Brackets
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette séquence, nous allons voir les booléens et les conditions en Pharo. Donc en fait, il existe deux objets booléens, true et false sauf que true, en fait c'est l'unique instance de la case
-
[Live] Finding Methods with Finder
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
J’aimerais vous montrer comment on utilise le Finder pour trouver de l'information. Donc le Finder c'est un outil que vous allez trouver dans le menu Tools, donc Finder. Imaginons que je veuille
-
[Redo] Coding a Counter in the Debugger
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette séance, j'ai envie de vous montrer comment on doit utiliser le debugger pour programmer différemment. On va ré-implémenter l'application counter mais d'une manière différente, avec un flow
-
Loops
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette séquence, nous allons parler des boucles dans Pharo. Les boucles sont des messages qu'on va envoyer à des objets. En fait, il existe plein de types de boucles différents. C'est des messages
-
[Live] Nautilus 3: Inheritance view
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette vidéo, je voudrais vous montrer une astuce aussi avec Nautilus. Petite remarque en passant, Nautilus c'est le nom du sous-marin de Jules Verne dans "20 000 lieues sous les mers", qui permet
-
Messages for Java Programmers
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette séquence, nous allons illustrer Pharo en le comparant avec un autre langage de programmation objet qui est Java. Alors, en Pharo, on ne manipule que des objets. On effectue des choses
-
Yourself
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette séquence nous allons découvrir la méthode Yourself, qui a priori ne sert à rien et qui est pourtant extrêmement utile.
-
[Live] GTInspector 1: Inspect and Interact with Objects
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette vidéo, je voudrais vous montrer l'inspecteur et comme on l'utilise.
-
[Live] Nautilus 1: First Meet with the Code Browser
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette vidéo, je voudrais vous montrer quelques éléments simples de Nautilus, et je vous montrerai des éléments un peu plus compliqué dans la suite des vidéos qui seront relatives au browser de
Avec les mêmes intervenants et intervenantes
-
Loops
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette séquence, nous allons parler des boucles dans Pharo. Les boucles sont des messages qu'on va envoyer à des objets. En fait, il existe plein de types de boucles différents. C'est des messages
-
Essence of Dispatch 1/2
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Pour ce cours, on va parler essentiellement de conception objet et on va regarder ce qui est l'essence du dispatch ou de la liaison tardive dans le langage à objet. Ce cours prend Pharo comme exemple
-
Iterators
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette séquence, on va voir les itérateurs. On va revenir sur les collections et voir comment est-ce qu'on peut les parcourir facilement, grâce aux itérateurs en Pharo. Vous allez comprendre la
-
Class Methods at Work
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette séquence, nous allons nous arrêter un petit peu sur les méthodes de classe. Nous avons vu que les méthodes de classe sont des méthodes normales, comme les autres. En général, elles servent
-
[Live] Nautilus 7: Using the Quality Assistant and Code Critic
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette vidéo, je voudrais vous montrer que Pharo offre aussi la possibilité d'avoir un assistant qui va vérifier la qualité de votre code, et qu'on appelle soit le Quality Assistant, soit Code
-
Benchmarking in Pharo
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans ce cours je vais vous montrer comment on peut faire du profilage d'application en Pharo. Ça veut dire comment on va mesurer l'exécution de certaines expressions et pour savoir si on peut les
-
Dice new vs. self class new
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
On va voir ensemble dans cette séquence une subtilité extrêmement intéressante que vous pouvez appliquer dans vos programmes, et donc on va revenir sur l'exemple du programme de dé.
-
[Live] Diffing and Merging in Pharo
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette vidéo, je voudrais vous montrer qu'on peut browser, faire des Diff entre différentes versions de packages qui ont été comités sur un repository. Là, je vais utiliser un repository qui est
-
Reflection: Stack as an Object
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Ce cours va traiter d'un sujet avancé. Ce que je voudrais vous montrer c'est comment à la demande, on peut transformer la pile d'exécution en un objet Pharo et le manipuler. L'idée de ce cours n'est
-
Pharo Object Model in a Nutshell
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Alors, dans cette séquence, on va voir le modèle-objet de Pharo. Donc, on va faire un survol de tout le modèle-objet pour essayer de vous en montrer l'élégance et la simplicité. Donc l'objectif, c
-
[Live] GTInspector 1: Inspect and Interact with Objects
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette vidéo, je voudrais vous montrer l'inspecteur et comme on l'utilise.
-
[Live] : Learn Pharo with Prof Stef
CASSOU Damien
DUCASSE Stéphane
FABRESSE Luc
Dans cette vidéo, j'aimerais vous présenter un outil bien cool qui va vous permettre d'apprendre un peu de Pharo par vous-même. Il s'appelle ProfStef. Donc comment est-ce qu'on lance ProfStef ? On