tajmone / Alan3-Italian

Translation of Alan IF v3 to Italian
Artistic License 2.0
1 stars 0 forks source link

Ottimizza Verbi con Prendi Implicito #14

Open tajmone opened 5 years ago

tajmone commented 5 years ago

Rimuovi dai verbi le clausole IF di verifica che un prendi-implicito sia andato a buon termine, poiché supeflue.

Spiegazione

Nei vari verbi che impiegano un "prendi implicito" è presente una clausola IF per verificare che esso sia andato in porto. Esempio (tratto da lib_classi.i, verbo dai_a su luquido):

    DOES ONLY
      -- >>> prendi implicito: >>>
      IF THIS NOT IN hero
        THEN
          IF THIS:recipiente = recipiente_fittizio
          OR THIS:recipiente IS NOT prendibile
            THEN SAY mia_AT:impossibile_maneggiare_liq1.
            ELSE LOCATE recipiente OF THIS IN hero.
              "(prima prendi" SAY THE THIS:recipiente. SAY THIS:prep_DI. "$1)$n"
          END IF.
      END IF.
      -- <<< prendi implicito <<<

      IF THIS IN hero -- (se il prendi implicito è andato a buon fine)
        THEN
          "Consegni" SAY THE THIS:recipiente. SAY THIS:prep_DI. "$1"
                     SAY png:prep_A. "$2."
          LOCATE recipiente OF THIS IN png.
      END IF.

Questa clausola è inutile dato che se il LOCATE del prendi-implicito dovesse fallire per qualsiasi ragione (e.s. l'oggetto è posseduto da un attore) allora l'esecuzione del verbo si interromperebbe.

Ho eseguito dei test che confermano quanto sopra, quindi è un'operazione sicura.