Digamos que necesito asociar símbolos con directorios, y esto solo tendrá que hacerse para una pequeña cantidad de boundp
sí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.)