Digamos que necesito asociar símbolos con directorios, y esto solo tendrá que hacerse para una pequeña cantidad de boundpsímbolos.
A mi modo de ver, hay dos maneras fáciles de hacerlo:
- Almacene esta asociación en una variable separada (lista o un mapa hash). De esta manera, el directorio de cada símbolo sería accesible con
(cdr (assq SYMBOL my-alist)). - Almacene esto en una propiedad de símbolo. De esta manera, sería accesible con
(get SYMBOL 'my-directory).
¿Cuál de estas sería la forma idiomática de hacer un seguimiento de esta información?
(defvar s 5) (put 's 'd "c:/abc/") (let ((s 4)) (message "d: %s, val: %S" (get 's 'd) s)). Y OP: ¿por qué hablas de "funciones", no de símbolos? Debo estar perdiendo algo.
let-vincular ese símbolo de cadena de directorios (que se usa como valor de apoyo) no debería ser un problema. (Siéntase libre de ignorar si no es pertinente.)