2010-08-26 15 views
4

Pour C/C++, les utilisateurs utilisent #ifdef .. #endif technique pour empêcher le rechargement des bibliothèques, et Objective-C utilise l'import pour faire la même chose.Est-ce que 'require' dans elisp/lisp empêche de recharger les librairies?

Que diriez-vous de lisp/elisp? Si (require 'cl) est utilisé avant, et (require' cl) est vu quelque part, Lisp est assez intelligent pour ne pas le charger à nouveau? Ou, y a-t-il un moyen d'empêcher cette bibliothèque de rechargement?

Répondre

4

Non, elisp ne le chargera plus. A partir de la documentation (C-h f require):

"Si la fonction FEATURE est pas chargé, charge à partir FILENAME."

La même chose est vraie pour Common Lisp:

« The nécessitent des tests de fonction si un module est déjà présent (en utilisant un comparateur sensible à la casse ), si le module est absent, nécessitent procède au chargement du fichier approprié ou à un ensemble de fichiers. "