Emacs lispでシンボルタイプを文字列に変換するにはどうすればよいですか?
symbol-to-string
関数などは見つかりませんでした。
symbol-name
を使用してみてください:
(symbol-name 'some-symbol)
シンボル名(文字列)を指定すると、シンボルの値を取得できます。 Trey Jacksonのソリューションの使用:
(setq ASymbol 10) => 10
(intern "ASymbol") => 'ASymbol (e.g. the unevaluated symbol with name "ASymbol")
(symbol-value (intern "ASymbol")) => 10
これは、名前しかないシンボルの値を取得する場合に役立ちます。たとえば、文字列からそれらを読み取ります。
注意事項:intern
は、指定した名前のシンボルの値を返します。そのような名前のシンボルが存在しない場合は、その名前のシンボルが作成されます。 intern-soft
を使用すると、指定した名前のシンボルが存在しない場合に新しいシンボルが導入されるのを回避できます。