05 novembre 2008

Inform 6 - HOW TO: replace di verbi distinguendo i sinonimi

Esaminiamo la seguente grammatica

>showverb sdraiati
Verb 'sdraiati' 'siedi' 'siediti'
* 'su' / 'sul' / 'sullo' / 'sull'' / 'sulla' / 'sui' / 'sugli' / 'sulle' / 'sopra' noun -> Enter
* 'a' / 'ad' / 'all'' / 'allo' / 'alla' / 'al' / 'agli' / 'ai' / 'alle' noun -> Enter
* 'dentro' / 'in' / 'nel' / 'nello' / 'nell'' / 'nella' / 'negli' / 'nelle' / 'nei' noun -> Enter

Ora decido di gestire con due verbi custom le azioni sdraiati e siediti, quindi scrivo:

Extend "siediti" replace
* -> Siediti;
Extend "sdraiati" replace
* -> Sdraiati;
con due verbi separati;

però a runtime eseguendo

>showverb siediti
Verb 'sdraiati' 'siedi' 'siediti'
* -> Sdraiati

>showverb sdraiati
Verb 'sdraiati' 'siedi' 'siediti'
* -> Sdraiati

si può notare come i sinonimi sono stati mantenuti. Viene preso l'ultima definizione, in questo caso Sdraiati creando un bug sull'azione siediti.

La soluzione è la keyword only, pertanto le definizioni corrette diventano:

Extend only "siediti" "siedi" replace
* -> Siediti;
Extend only "sdraiati" replace
* -> Sdraiati;

Nessun commento:

Posta un commento

Non piangere per me: