Angenommen, ich muss Verzeichnissen Symbole zuordnen, und dies muss nur für eine kleine Anzahl von boundpSymbolen durchgeführt werden.
So wie ich das sehe, gibt es zwei einfache Möglichkeiten, dies zu tun:
- Speichern Sie diese Zuordnung in einer separaten Variablen (Alist oder Hash-Map). Auf diese Weise wäre das Verzeichnis jedes Symbols mit zugänglich
(cdr (assq SYMBOL my-alist)). - Speichern Sie dies in einer Symboleigenschaft. Auf diese Weise wäre es mit zugänglich
(get SYMBOL 'my-directory).
Welche davon wäre die idiomatische Methode, um diese Informationen im Auge zu behalten?
(defvar s 5) (put 's 'd "c:/abc/") (let ((s 4)) (message "d: %s, val: %S" (get 's 'd) s)). Und OP: Warum sprechen Sie von "Funktionen", nicht von Symbolen? Mir muss etwas fehlen.
let-Das Binden des Dir-String-Symbols (das als Requisitenwert verwendet wird) sollte kein Problem sein. (Fühlen Sie sich frei zu ignorieren, wenn nicht relevant.)