Digamos que eu precise associar símbolos a diretórios, e isso só precisará ser feito para um pequeno número de boundp
símbolos.
Na minha opinião, existem duas maneiras fáceis de fazer isso:
- Armazene essa associação em uma variável separada (alist ou um mapa de hash). Dessa forma, o diretório de cada símbolo estaria acessível com
(cdr (assq SYMBOL my-alist))
. - Armazene isso em uma propriedade de símbolo. Dessa forma, seria acessível com
(get SYMBOL 'my-directory)
.
Qual dessas seria a maneira idiomática de acompanhar essas informações?
(defvar s 5) (put 's 'd "c:/abc/") (let ((s 4)) (message "d: %s, val: %S" (get 's 'd) s))
. E OP: por que você fala de "funções", não de símbolos? Eu devo estar esquecendo alguma coisa.
let
- vincular esse símbolo de seqüência de caracteres dir (que é usado como valor prop) não deve ser um problema. (Sinta-se livre para ignorar se não for pertinente.)