Next: , Up: Script Pharo   [Index]


6.1 Script sans paramètre

Principe de construction d’un script

Lors de la construction d’un script, depuis ...Script → Créer un script... trois éléments sont demandés pour le définir :

  1. son nom ;
  2. sa description ;
  3. les types de paramètres d’entrée.

Le troisième point indique l’ordre et les objets sur lesquels cliquer (point, segment, etc.) pour ensuite créer une instance du script dans la figure.

Premier exemple

La procédure pour créer et utiliser un script sans paramètre d’entrée est la suivante :

Édition du script.

  1. Choisir ...Script → Créer un script... le constructeur de script s’affiche alors – See scriptConstructor.
    fig35

    Figure 6.1: Le constructeur de script

    Il comprend trois parties :

  2. Presser le bouton Construire, Dr.Geo construit alors une classe pour ce script et affiche un éditeur de script sur celle-ci – See scriptEditor.
    fig38

    Figure 6.2: Editeur de script sur mon premier script

    De la gauche vers la droite et du haut vers le bas :

    Saisir le code source ci-dessous dans le panneau du bas de l’éditeur de script :

    compute
       "Je dis bonjour"
       ^ 'hello !'.
        

    Sauvegarder le script en cliquant sur le bouton “Enregistrer” à droite de l’onglet “Code source” ou par la combinaison de touches Ctrl-s.

    La première ligne d’une méthode, ici compute, désigne toujours le nom de la méthode, la suite est le code source du script. La deuxième ligne de celle-ci, entre guillemets, est un commentaire de ce que fait la méthode, nous conseillons de bien documenter losrque vous créer plusieurs méthodes dans un script.

    Pour créer une nouvelle méthode, il suffit de changer le nom de la méthode affichée et de sauver avec le bouton “Enregistrer” à droite.

    L’éditeur de script peut maintenant être fermé.

Utilisation du script dans la figure.

Choisir ...Script → Utiliser un script... dans le menu. Dans la boîte de dialogue qui s’affiche alors choisir le script Mon premier script que nous avons créé précédemment. Noter qu’à chaque fois qu’un script est choisi, son commentaire descriptif est affiché en dessous.

fig50

Figure 6.3: Choisir un script

Une fois le script sélectionné, cliquer dans la figure à l’emplacement souhaité, le script y est inséré ; dans cet exemple il ne fait que retourner le message “hello !”. La valeur retournée par la méthode compute est toujours celle affichée dans la figure.

Dans les exemples ci-dessous, nous donnons uniquement le code source de la méthode compute. En reprenant les étapes précédentes, à vous de créer le script en choisissant à votre convenance ses nom et description, nous ne revenons pas sur ces étapes.

Un générateur de nombres aléatoires et autres

Si vous souhaitez un générateur de nombres entiers aléatoires entre 0 et 10, rien de plus simple, c’est ce que fait le script suivant :

compute
"Je retourne un nombre aléatoire"
   ^ 10 atRandom.

À chaque mise à jour de la figure, il génère un nombre aléatoire entier dans l’intervalle [0 ; 10]. Si vous préférez un nombre flottant dans l’intervalle [0 ; 1], utilisez ce script :

compute 
"Je retourne un nombre décimal aléatoire entre 0 et 1"
   ^ 100 atRandom / 100.

Quelques précisions :

Calculer des valeurs usuelles

Pour afficher une valeur approchée de pi ou de e :

compute
   ^ Float pi
compute
   ^ Float e

Les valeurs retournées par ces scripts sont ensuite utilisables comme toutes les autres valeurs numériques générées par Dr.Geo. Pour toutes ces petites choses les scripts sont donc vos amis. Mais ils peuvent faire bien plus de choses intéressantes lorsqu’ils reçoivent des paramètres en entrée.

En effet ici les scripts n’avaient aucun argument, il n’y avait donc pas lieu de sélectionner des items de la figure lors de l’insertion des scripts dans la construction. Bien sûr leur intérêt réside dans les traitements numériques qu’ils permettent sur des items et la restitution de ce résultat dans la figure, sous la forme d’un objet qui lui même peut-être utilisé par d’autres scripts. Dans les sections suivantes nous montrerons de tels enchaînements de scripts.


Footnotes

(13)

Une instance de n’importe quelle classe pour être précis car les types n’existent pas en Pharo


Next: , Up: Script Pharo   [Index]