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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucOn 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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucJ’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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucDans cette vidéo, je voudrais vous montrer l'inspecteur et comme on l'utilise.
-
[Live] Nautilus 1: First Meet with the Code Browser
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucPour 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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucOn 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
CassouDamienDucasseStéphaneFabresseLucDans 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
CassouDamienDucasseStéphaneFabresseLucCe 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
CassouDamienDucasseStéphaneFabresseLucAlors, 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
CassouDamienDucasseStéphaneFabresseLucDans cette vidéo, je voudrais vous montrer l'inspecteur et comme on l'utilise.
-
[Live] : Learn Pharo with Prof Stef
CassouDamienDucasseStéphaneFabresseLucDans 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