Créez vos propres commandes avec « apprends »

apprends est une commande très spéciale, car elle est utilisée pour créer vos propres commandes. La commande que vous créez peut recevoir des entrées et retourner des sorties. Regardons maintenant comment une nouvelle commande est créée :

apprends cercle $x {
  répète 36 {
    avance $x
    tournegauche 10
  }
}

La nouvelle commande est appelée cercle. cercle reçoit un argument en entrée, qui fixe la taille du cercle. cercle ne retourne aucune sortie. La commande cercle peut maintenant être utilisée comme une commande normale dans la suite du programme. Voyez cet exemple :

apprends cercle $X {
  répète 36 {
    avance $X
    tournegauche 10
  }
}

va 30,30
cercle 20

va 40,40
cercle 50  

Dans l'exemple suivant, une commande avec une valeur de retour est créée.

apprends factorielle $x {
  $r = 1
  pour $i = 1 à $x {
    $r = $r * $i
  }
  retourne $r
}

écris factorielle 5

Dans cet exemple, une nouvelle commande appelée factorielle est créée. Si l'entrée de la commande est 5, alors la sortie sera 5*4*3*2*1. En utilisant retourne, la valeur de sortie est spécifiée et le résultat est renvoyé.

Les commandes peuvent avoir plus d'une entrée. Dans l'exemple suivant, une commande qui dessine un rectangle est créé.

apprends boîte $x, $y {
  avance $y
  tournedroite 90
  avance $x
  tournedroite 90
  avance $y
  tournedroite 90
  avance $x
  tournedroite 90
}

Maintenant vous pouvez lancer boîte 50, 100 et la tortue dessinera un rectangle sur le canevas.