2011-01-10 6 views

Antwort

67

Try symbol-name mit:

(symbol-name 'some-symbol) 
+38

Und für den umgekehrten, '(intern" einige-String "). –

0

Bei einem Symbol (String), können Sie den Wert des Symbols erhalten. Trey Jackson-Lösung:

(setq ASymbol 10) => 10 
(intern "ASymbol") => 'ASymbol (e.g. the unevaluated symbol with name "ASymbol") 
(symbol-value (intern "ASymbol")) => 10 

Dies ist nützlich, wenn Sie die Werte von Symbolen erhalten möchten, für die Sie nur Namen haben. Zum Beispiel lesen Sie sie aus einer Zeichenfolge.

Ein paar Hinweise: intern gibt den Wert des Symbols mit dem angegebenen Namen zurück. Wenn kein Symbol mit einem solchen Namen existiert, wird ein Symbol mit diesem Namen erstellt. Sie können intern-soft verwenden, um die Einführung eines neuen Symbols zu vermeiden, wenn eines mit dem angegebenen Namen nicht existiert.

Verwandte Themen