Crea tus propias órdenes con «aprender»

aprender es especial ya que lo puedes usar para crear tus propias órdenes. La orden que crees puede admitir parámetros de entrada y devolver parámetros de salida. Veamos cómo se crea una nueva orden:

aprender círculo $x {
  repetir 36 {
    avanzar $x
    izquierda 10
  }
}

La nueva orden se denomina círculo. círculo necesita un parámetro de entrada para fijar el tamaño del círculo y no devuelve ningún parámetro de salida. A partir de ahora la orden círculo puede usarse como una orden normal en cualquier lugar del código. Mira este ejemplo:

aprender círculo $x {
  repetir 36 { 
    avanzar $x 
    izquierda 10 
  }
}

ir 200;200
círculo 20

ir 300;200 
círculo 40  

En el próximo ejemplo, se crea una orden que devuelve un parámetro de salida:

aprender facultad $x {
  $r = 1
  para $i = 1 hasta $x {
    $r = $r * $i
  }
  devolver $r
}

escribir facultad 5

En este ejemplo, se crea una nueva orden llamada facultad. Si el parámetro de entrada es 5, entonces el parámetro de salida es 5*4*3*2*1. Con devolver se define un parámetro de salida que se devuelve durante la ejecución.

Las órdenes pueden tener más de un parámetro de entrada. En el siguiente ejemplo se crea una orden que dibuja un rectángulo:

aprender caja $x;$y {
  avanzar $y
  derecha 90
  avanzar $x
  derecha 90
  avanzar $y
  derecha 90
  avanzar $x
  derecha 90
}

Ahora, si ejecuta caja 50;100, la tortuga dibujará una rectángulo en el lienzo.