You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Il verbo prendi_da va rivisto perché contiene clausole impossibili e contradittorie.
Risolvi le falle di logica nel verbo che contraddicono l'assunto che l'oggetto possa anche essere un attore ma, di fatto, i CHECK lo prevengono.
Verifica tutti i CHECK che impediscono di eseguire il corpo DOES del verbo a un parametro di classe ACTOR.
Cerca di aggiustare la situazione di modo che sia possibile usare questo verbo simulando attori in contenitori tramite l'uso di attributi.
La sintassi:
SYNTAX prendi_da = prendi (ogg) da (detentore)
WHERE ogg IsA THING
...
AND detentore IsA CONTAINER
...
... consente di prendere un attore da un contenitore (incluse un altro attore), ma questo non può accadare dato che Alan non consente di mettere attori in contenitori.
Credo che l'idea originale fosse quella di implementare un qualche sistema per emulare attori in contenitori tramite classi specializzate che ridefinissero il verbo prendi_da — in fatti nel corpo del verbo leggiamo:
DOES
IF ogg IsA ACTOR
THEN SAY THE ogg. "would probably object to that."
-- actors are not prohibited from being taken in the checks; this is to
-- allow for example a dog to be picked up, or a bird to be taken out of
-- a cage, etc.
... ma questo è impedito dai seguenti CHECK:
ADD TO EVERY THING
VERB prendi_da
WHEN ogg
CHECK [...]
...
AND ogg IS spostabile
...
AND ogg IS prendibile
...
AND ogg IN detentore <-- NON ACCADRÀ MAI!
Una possibile soluzione sarebbe quella di implmentare il verbo prendi_da anche sulla classe object e spostare lì i CHECK che non riguardano gli attori.
The text was updated successfully, but these errors were encountered:
Il verbo
prendi_da
va rivisto perché contiene clausole impossibili e contradittorie.La sintassi:
... consente di prendere un attore da un contenitore (incluse un altro attore), ma questo non può accadare dato che Alan non consente di mettere attori in contenitori.
Credo che l'idea originale fosse quella di implementare un qualche sistema per emulare attori in contenitori tramite classi specializzate che ridefinissero il verbo
prendi_da
— in fatti nel corpo del verbo leggiamo:... ma questo è impedito dai seguenti
CHECK
:Una possibile soluzione sarebbe quella di implmentare il verbo
prendi_da
anche sulla classeobject
e spostare lì i CHECK che non riguardano gli attori.The text was updated successfully, but these errors were encountered: