Je joue actuellement avec lispbuilder-sdl sur SBCL sous Windows.Lisp différences de paquet entre repl et compiler le fichier
Mon code source est la suivante:
(asdf:operate 'asdf:load-op :lispbuilder-sdl)
(asdf:operate 'asdf:load-op :lispbuilder-sdl-binaries)
(asdf:operate 'asdf:load-op :lispbuilder-sdl-examples)
(sdl-examples:squashed)
Quand je compile le fichier que je reçois l'erreur: package "SDL-EXEMPLES" non trouvé.
Si je supprime le (sdl-examples: écrasé) du fichier, il est compilé correctement. Je peux alors taper (sdl-examples: écrasé) au repl et le jeu de démo commence bien.
Pourquoi le paquetage sdl-examples est-il trouvé depuis le repl mais pas quand je compile le fichier?
Merci pour la réponse. C'est un peu au-delà de ma compréhension du Lisp. Je suis une jeune sauterelle dans l'exigence de la cire sur la cire. Quand j'exécute cela, la fonction de symbole dit qu'elle ne nécessite qu'un seul argument. Comment est-ce que je concatène l'objet de paquet à la chaîne de symbole? Je suppose que c'est ce qui ne va pas. –
Oups! Ma mauvaise --- a oublié l'appel à 'intern' pour coller le nom de la fonction et le paquet ensemble. Il est édité pour corriger maintenant. – JohnMaraist
Merci beaucoup pour l'explication. Cela m'a aidé à comprendre quels symboles et la différence avec la compilation et l'exécution sont. Je suppose que si je devais commencer à programmer une application réelle ce désagrément serait évité en définissant le code dans un fichier asd séparé? –