J'ai commis une erreur et j'ai oublié de spécifier des arguments de mots clés dans Oh, désolé, peu importe, après avoir retiré toutes les méthodes définies pour ce générique, SBCl redéfinit-le, il est donc tout bon maintenant: p> défenseur code> la première fois que je l'ai compilée. Maintenant, je ne veux vraiment pas redémarrer Slime uniquement pour redéfinir celui-ci
défenseur code> pour inclure davantage d'arguments. Existe-t-il un moyen de "indéfinir" en quelque sorte?
(remove-method #'some-generic
(find-method #'some-generic '() (list of method types)))
3 Réponses :
Une autre possibilité serait de compiler une ou plusieurs méthodes avec les arguments supplémentaires, puis, après votre Common Lisp CODE> Mise en œuvre "se plaint" des paramètres inconnus, sélectionnez le redémarrage qui met à jour les arguments disponibles dans le fonction générique. p>
Heh, maintenant je suis arrivé à la conclusion, je veux réellement le retour avec les mots-clés ... Cela semble être plus difficile :) Juste pour m'assurer: Mes seules options du redémarrage, lorsque je définirai les méthodes incompatibles sont de soit Quitter ou avorter ... Cela n'offre rien de remplacer quoi que ce soit.
SLime a la commande CTRL-C CTRL-U KBD> pour non révéler une fonction. Définissez le curseur sur le symbole de la fonction, puis tapez la séquence. P>